We recommend using Visual Studio 2017

Compiler Error C2787


The latest version of this topic can be found at Compiler Error C2787.

identifier' : no GUID has been 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 a user-defined type with no GUID.

The following sample generates C2787:

// C2787.cpp  
#include <windows.h>  
struct F {};  
struct __declspec(uuid("00000000-0000-0000-c000-000000000046")) F2;  
int main() {  
   __uuidof(F);   // C2787  
   __uuidof(F2);   // OK