在我的项目中,我有一个在类中定义的枚举,用于整个类。在重构期间,该枚举被移至另一个类。所以我只是typedef
编在我原来的类,像这样:从其他类访问枚举值
class A {
public:
enum E {e1, e2};
};
class B {
public:
typedef A::E E;
};
现在变量定义,返回值,函数参数,可以等完美地工作。只有当我想访问我的第二个类中的枚举值时,我仍然必须使用surroundig类的名称
E e = A::e1;
有没有办法避免这种情况,还是我必须将其复制到枚举值的每次出现?
你将如何访问枚举值?我仍然必须编写'E :: EnumType e = E :: e1;' –
您必须编写它,我觉得这是一个小的代价,不需要重复枚举值,只要您使E a有意义的枚举名称。 –