编译器错误 C2787
“identifier”:没有与该对象关联的 GUID
__uuidof 运算符采用附加了 GUID 的用户定义类型或此类用户定义类型的对象。 当参数为不具有 GUID 的用户定义类型时,会发生此错误。
以下示例生成 C2787:
// C2787.cpp
#include <windows.h>
struct F {};
struct __declspec(uuid("00000000-0000-0000-c000-000000000046")) F2;
int main() {
__uuidof(F); // C2787
__uuidof(F2); // OK
}