Partager via


Erreur du compilateur C2788

'identifier' : plusieurs GUID associés à cet objet

L’opérateur __uuidof prend un type défini par l’utilisateur avec un GUID attaché ou un objet de ce type défini par l’utilisateur. Cette erreur se produit lorsque l’argument est un objet avec plusieurs GUID.

L’exemple suivant génère l’erreur 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);
}