Compiler Error C2516

'name' : is not a legal base class

The specified class was derived from a type name defined by a typedef statement.

The following is an example of this error:

typedef   unsigned long ulong;
class C   : public ulong {}; // error