Compiler Error C2646

 

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

For the latest documentation on Visual Studio 2017, see Compiler Error C2646 on docs.microsoft.com. 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; };  

Show: