Compiler Error C2626

 

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

For the latest documentation on Visual Studio 2017, see Compiler Error C2626 on docs.microsoft.com. 'identifier': a private or protected data member is not allowed in an anonymous struct or union

A member of an anonymous struct or union must have public access.

The following sample generates C2626:

// C2626.cpp  
int main() {  
   union {  
   protected:  
      int j;     // C2626, j is protected  
   private:  
      int k;     // C2626, k is private  
   };  
}  

To fix this issue, remove any private or protected tags:

// C2626b.cpp  
int main() {  
   union {  
   public:  
      int i;   // OK, i is public  
   };  
}  

Show: