anonymous union defines protected/private member 'identifier'
The specified member was declared with protected or private access.
A member of an anonymous union must have public access.
The following are an examples of this error:
void main()
{
   union
   {
   public:
      int i;     // OK, i is public
   protected:
      int j;     // error, j is protected
   private:
      int k;     // error, k is private
   };
}