【问题标题】:Converting an array of Bytes to a tagVARIANT array将字节数组转换为 tagVARIANT 数组
【发布时间】:2021-07-06 09:51:00
【问题描述】:

我目前正在 Visual Studio 中开发 C++ 命令行应用程序。但目前我在某个时候卡住了:

我有一个字节数组,包含 3 个元素:

byte arr [3] = {0x0A, 0xFF, 0xBF}

现在我想把这个数组赋给一个函数。但是在构建时出现以下错误:

“无法从 byte[3] 转换为 VARIANT。”

那么任何人都可以提供一个简单的示例,可以使用 Visual Studio 在 C++ 中完成。

感谢您的帮助。

【问题讨论】:

    标签: c++ arrays byte variant


    【解决方案1】:

    存在 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 类型。字节的 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

    【讨论】:

      猜你喜欢
      • 2014-08-08
      • 2011-07-02
      • 2019-12-10
      • 1970-01-01
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      相关资源
      最近更新 更多