将字节数组转换为 tagVARIANT 数组
Posted
技术标签:
【中文标题】将字节数组转换为 tagVARIANT 数组【英文标题】:Converting an array of Bytes to a tagVARIANT array 【发布时间】:2021-07-06 09:51:00 【问题描述】:我目前正在 Visual Studio 中开发 C++ 命令行应用程序。但目前我在某个时候卡住了:
我有一个字节数组,包含 3 个元素:
byte arr [3] = 0x0A, 0xFF, 0xBF
现在我想把这个数组赋给一个函数。但是在构建时出现以下错误:
“无法从 byte[3] 转换为 VARIANT。”
那么任何人都可以提供一个简单的示例,可以使用 Visual Studio 在 C++ 中完成。
感谢您的帮助。
【问题讨论】:
【参考方案1】:存在 C++ 类型,但此列表中缺少类型 bytehttps://en.cppreference.com/w/cpp/language/types 有一个关于如何在 COM 中使用数组的链接https://www.codeguru.com/cpp/com-tech/activex/com/article.php/c2577/Using-COM-to-Pass-Arrays.htm 请注意,字节不是 C++ 类型,也不是 COM 类型。字节的 C++ 类型是 char 或 unsigned char。可能最适合字节的是COM类型是VT_UI1。还要检查类型 VT_ARRAY。您应该使用 SafeArray* 函数来处理 COM 数组。 您可以在此处找到有关使用 COM 类型的一些信息: http://www.roblocher.com/whitepapers/oletypes.html 还有这里Return Array of object from ATL ActiveX Control
【讨论】:
以上是关于将字节数组转换为 tagVARIANT 数组的主要内容,如果未能解决你的问题,请参考以下文章