'type' : no members defined using this type
An enumeration, structure, or union is defined without members. This error occurs when you compile for C++ with the ANSI compatibility (/Za).
Possible cause
The following code uses C-style structs. When compiled for C++, the first struct declares a nested structure, Struct::ToBeIncluded. This is not the same as ::ToBeIncluded.
struct ToBeIncluded { int i; }; struct Struct { //C struct defined using /Ze extensions float x; struct ToBeIncluded; // C-style struct injection float y; }; // error under /Za ANSI compatibility
The following code shows the structures rewritten for C++:
struct ToBeIncluded { int i; }; struct Intermediate { // revised C++ struct float x; }; struct Struct // C++ style : public Intermediate, public ToBeIncluded { float y; }; // Always OK for C++ #endif