エラー メッセージ
'type' : __uuidof の無効なオペランドです。
__uuidof 演算子は、GUID がアタッチされたユーザー定義型またはそのようなユーザー定義型のオブジェクトを、引数として受け取ることができます。以下の原因が考えられます。
-
引数がユーザー定義型ではありません。
-
__uuidof が引数から GUID を取り出すことができません。
次の例では C2786 エラーが生成されます。
// C2786.cpp
struct __declspec(uuid("00000000-0000-0000-0000-000000000000")) A {};
int main() {
__uuidof(int); // C2786
__uuidof(int *); // C2786
__uuidof(A **); // C2786
// no error
__uuidof(A);
__uuidof(A *);
__uuidof(A &);
__uuidof(A[]);
int i;
int *pi;
A **ppa;
__uuidof(i); // C2786
__uuidof(pi); // C2786
__uuidof(ppa); // C2786
}