Message The type "<type>" is declared nested within "<enclosing type>". In C, the nesting is ignored and <type> and its enumerator constants can be accessed as if they were not nested. <However, the type and its enumerators are members in C++>. <Fix>. Description C allows types to be declared within other types. For example: struct S { int a; enum E { first, second, third} b; int c; }; In C++ the enum E would not be accessible without using the :: operator. User Action Declare the nested type before declaring the enclosing type.