Compiler Error C2646


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

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

an anonymous struct or union at global or namespace scope must be declared static

An anonymous struct or union has global or namespace scope but is not declared static.

The following sample generates C2646 and shows how to fix it:

// C2646.cpp  
// compile with: /c  
union { int i; };   // C2646 not static  
// OK  
static union { int j; };  
union U { int i; };