问题描述
我已经找到了这个非常好的解释Initialising enum via constructors,但它不符合我的需要。
所以我在类中声明了一个枚举,并想在类构造函数中初始化它,然后通过方法中的 switch 语句调用这个枚举,但我无法实现它。 这是一个代码:
class myClass {
myClass();
enum class State;
void update();
};
// initialise State() with default value,so state1=0,state2=1
myClass::myClass() : State() {}
enum class
myClass::State
{
state1,state2
} enumState;
void myClass::update(){
switch (enumState){
case enumState.state1:
break;
case enumState.state2:
break;
}
}
但显然这不是实现它的正确方法。
我收到这些错误:
错误:‘enum class myClass::State’不是‘myClass’的非静态数据成员
错误:请求'enumState'中的成员'state1',属于非类类型'myClass::State'
谁能解释一下如何实现这样的代码,如果我想用默认参数初始化 State 该怎么办?
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)