考虑一个嵌套的枚举类,它作为参数传递给该类的成员函数。
class VerboseClassName {
public:
enum class Unit {KG, TON};
void foo(Unit unit) { /*...*/ }
};
使用这种类型的构造对我来说总是有点尴尬,因为类名必须在方法调用中被限定。
void bar() {
VerboseClassName a;
a.foo(VerboseClassName::Unit::KG);
}
考虑类成员调用中可用的类范围是否有意义?是否有技术上的原因会导致麻烦?