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.
The following sample generates C2788:
// 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);
}
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for