如何解决将字节数组转换为 tagVARIANT 数组
我目前正在 Visual Studio 中开发 C++ 命令行应用程序。但目前我在某些时候卡住了:
我有一个字节数组,包含 3 个元素:
byte arr [3] = {0x0A,0xFF,0xBF}
现在我想把这个数组赋给一个函数。但是在构建时出现以下错误:
“不可能从 byte[3] 转换为 VARIANT。”
那么任何人都可以提供一个简单的示例,说明可以使用 Visual Studio 在 C++ 中完成此操作。
感谢您的帮助。
解决方法
有C++类型,此列表中缺少类型byte
https://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 类型。 byte 的 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。