Teilen über


Compilerfehler C2788

'Identifier' : mehr als eine GUID, die diesem Objekt zugeordnet ist

Der __uuidof-Operator verwendet einen benutzerdefinierten Typ mit einer GUID, die einem solchen benutzerdefinierten Typ zugeordnet ist, oder ein Objekt eines solchen benutzerdefinierten Typs. Dieser Fehler tritt auf, wenn das Argument ein Objekt mit mehreren GUIDs ist.

Im folgenden Beispiel wird C2788 generiert:

// C2788.cpp
#include <windows.h>
struct __declspec(uuid("00000001-0000-0000-0000-000000000000")) A {};
struct __declspec(uuid("{00000002-0000-0000-0000-000000000000}")) B {};
template <class T, class U> class MyClass {};

typedef MyClass<A,B> MyBadClass;
typedef MyClass<A,A> MyGoodClass;

int main() {
   __uuidof(MyBadClass);    // C2788
   // try the following line instead
   __uuidof(MyGoodClass);
}