Erro do compilador C2788
“identificador: mais de um GUID associado a este objeto
O operador __uuidof usa um tipo definido pelo usuário com um GUID anexado ou um objeto desse tipo definido pelo usuário. Esse erro ocorre quando o argumento é um objeto com vários GUIDs.
O seguinte exemplo gera o erro 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);
}