Compiler Error C2626

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

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

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: