Export (0) Print
Expand All
Expand Minimize

Compiler Error C2788

'identifier' : more than one GUID associated with this object

The __uuidof operator takes a user-defined type with a GUID attached or an object of such a user-defined type. This error occurs when the argument is an object with multiple GUIDs.

Example

// C2788.cpp
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
   __uuidof(MyGoodClass);   // OK
}
Show:
© 2014 Microsoft