我想在我的代码中的几个地方开始使用枚举,但是我对编译器以前的声明有问题。目前声明的枚举如何对我最有意义:范围枚举的最佳替代方法 - Pre C++ 11
避免这种情况的最佳方法是什么?
enum score_methods_t {NONE,ABS_FROM_PERFECT,ERROR_SQUARED};
enum scale_methods_t {NONE,CASES_MULTIPLIER,RANGE_MULTIPLIER};
我应该让所有的东西都是唯一的,还是使用命名空间作用域?我想在类中使用枚举类型,而NONE是最具描述性的名字!
也是原因的枚举冲突是因为本质上只是#defines在引擎盖下?
使用这种方法,你如何声明枚举类型的变量,类成员,函数参数? – ulidtko
@ulidtko使用':: type',如'score_methods :: type'中的。这是您在C++ 11之前付出的代价。 :) –
是啊......我们可以声明一个相同枚举类型的'score_methods :: value'成员,并使用隐式结构赋值运算符吗?这对我来说看起来更安全。 – ulidtko