class MyClass { public: enum MyEnum { Value1, Value2 }; MyClass( ) : v_() { } private: MyEnum v_; }; int main( ) { } test.cc: In method `MyClass::MyClass ()': test.cc:8: cannot convert `int' to `MyClass::MyEnum' in assignment Разве так нельзя делать? g++ 3.4 и 4.0 пропускают без каких либо замечаний.