gpt4 book ai didi

C++ MIDL2025 : Expecting a type specification near ""

转载 作者:行者123 更新时间:2023-12-02 10:08:39 29 4
gpt4 key购买 nike

我希望我的 IDL 文件实现一个返回字符串数组的函数,所以我试了一下:

[id(2)] HRESULT GReport_Person1([out, retval] std::vector<std::string> *Result);
[id(3)] HRESULT GReport_Person2([out, retval] std::vector<BSTR> *Result);

但这会产生错误:

MIDL2025 syntax error : expecting a type specification near "std"



但我希望它返回这个数组或 std::vector<BSTR>无论如何,请帮我解决这个问题。

最佳答案

您不能以这种方式在 MIDL 和 COM 中使用 std 容器。

您必须在 COM 中使用指针和数组作为内存块。所以你可以使用MIDL arrays .这里有一些 different types MIDL syntax 中的数组

如果你想在自动化中使用接口(interface),你必须使用包含 SafeArray 的 VARIANT 元素。使用 IDispatch (VBScript) 的标准自动化再次仅支持 VARIANTS 的 SafeArrays。但是您也可以自由使用 BSTR 的 SafeArrays。

关于C++ MIDL2025 : Expecting a type specification near "",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45114027/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com