編譯器錯誤 C2786
'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
}