パラメーターをWCHAR [100]からWCHAR **に変換することはできません
質問
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
それを行うために必要なことも明示的に言うべきです。
所属していません StackOverflow