Compiler Warning (level 1) C4917


For the latest documentation on Visual Studio 2017, see Visual Studio 2017 Documentation.

'declarator' : a GUID can only be associated with a class, interface or namespace

A user-defined structure other than class, interface, or namespace cannot have a GUID.

This warning is off by default. See Compiler Warnings That Are Off by Default for more information.

The following code sample generates C4917:

// C4917.cpp  
// compile with: /W1  
#pragma warning(default : 4917)  
__declspec(uuid("00000000-0000-0000-0000-000000000001")) struct S  
} s;   // C4917, don't put uuid on a struct  
int main()