'EnumOrUnion' : enum/union cannot be used as a base class
If you must derive a type from the specified union or enumeration, change the union or enumeration to a class or structure. The following sample generates C2569:
union ubase { }; class cHasPubUBase : public ubase { // C2569 // try ... // class cHasPubUBase { }; void main() { }