Compiler Error C2505

'identifier' : is not a legal base class

The specified identifier was not a class (or structure) but was used to derive a class.

A class can be derived only from classes. This error can be caused by naming a variable or type in the base class list.

The following is an example of this error:

class B { };
class D : public B { };  // OK, D is derived from B
typedef int I;
class E : public I { };  //  error, I is not a class