我正在调用一个需要wchar_t**
参数的 COM 函数。我想做的是:
wchar_t* arr[3] = {L"str1", L"str2", L"str3"};
我得到的是 a const wchar_t**
,编译器拒绝了它。
我也试过:
wchar_t* arr[3];
wchar_t p1[] = L"str1";
wchar_t p2[] = L"str2";
wchar_t p3[] = L"str3";
arr[0] = p1;
arr[1] = p2;
arr[2] = p3;
我得到的是wchar_t* (*)[3]
,编译器也拒绝了。
我是 C++ 的新手,并且对字符串文字的处理方式感到非常困惑。
ETA:我尝试使用的函数是 GetIDsOfNames,第二个参数是我遇到问题的地方。我想在该参数中传递 3 个名称(我可以成功传递一个名称,wchar_t ptName[] = L"namestring"
但不知道如何在一个数组中组合多个名称)。
HRESULT GetIDsOfNames(
REFIID riid,
LPOLESTR *rgszNames,
UINT cNames,
LCID lcid,
DISPID *rgDispId
);