編譯器錯誤 C2778
__declspec(uuid()) 產生的 GUID 不適當
不正確的 GUID 會 提供給 uuid 擴充屬性。
GUID 必須是十六進位數位的字串,格式如下:
// C2778a.cpp
// compile with: /c
struct __declspec(uuid("00000000-0000-0000-0000-000000000000")) A {};
struct __declspec(uuid("{00000000-0000-0000-0000-000000000000}")) B{};
擴充uuid
屬性會接受 CLSIDFromString 所辨識的字串,且不含大括號分隔符。
下列範例會產生 C2778:
// C2778b.cpp
struct __declspec(uuid(" 00000000-0000-0000-0000-000000000000 ")) C { }; // C2778
struct __declspec(uuid("00000000000000000000000000000000")) D { }; // C2778