Compiler Error C2626

anonymous union defines protected/private member 'identifier'

A member of an anonymous 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
   };
}

Possible resolution:

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