gpt4 book ai didi

c++ - 无法将参数从 WCHAR[100] 转换为 WCHAR**

转载 作者:行者123 更新时间:2023-11-30 01:30:46 25 4
gpt4 key购买 nike

我有一个需要 WCHAR** 的方法,我需要从这个方法中取回一些数据。我正在声明一个数组 WCHAR[100] 并将其传递给函数。编译器抛出此错误:

WCHAR result[100];
UINT i;
hr = SomeFunc(handle, &i, result);

错误 C2664:“XXXX”:无法将参数 3 从“WCHAR [100]”转换为“WCHAR **”

最佳答案

一般来说,如果函数采用指向指针的指针(在本例中为 WCHAR**),那么它将分配自己的内存并将指向的指针设置为该内存。 SomeFunc 的文档应该描述这是否确实发生了。

如果是这种情况,那么您可能需要这样的东西:

WCHAR* result = NULL;
UINT i;
hr = SomeFunc(handle, &i, &result);

如果成功则使用result

当然,在那种情况下,您很可能还需要担心释放 result 设置指向的内存。 SomeFunc 的文档也应该明确说明这样做的必要条件。

关于c++ - 无法将参数从 WCHAR[100] 转换为 WCHAR**,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4093353/

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