我有class B_long_named_class
(名字很长)和一个内部enum
-B_enum
,并且想在enum
中使用这个class A
值。因此,例如,我必须使用B_long_named_class::E1
,而我想摆脱B_long_named_class
范围限定符。
有没有办法达到我想要的结果?
我只能使用c ++ 98。
class B_long_named_class
{
public:
enum B_enum
{
E0,
E1,
E2
};
};
class A
{
public:
typedef B_long_named_class::B_enum B_enum; // original enum name
bool testA(B_enum val) { return (val == B_long_named_class::E1); } // I want to just E1
};
int main()
{
A obj;
std::cout << "testA " << obj.testA(B_long_named_class::E0) << std::endl;
return 0;
}
P.S。我已经看过这个问题了:) Accessing enum values from other class