【发布时间】:2014-05-05 04:59:21
【问题描述】:
以下代码使用带枚举的开关。主程序正确地将参数传递给函数,但没有执行正确的开关行。你能告诉它为什么没有进入开关条件吗?
enum MyEnum {
Enum1 = 1,
Enum2 = 0x0D
};
bool compute(MyEnum code) {
switch(code) {
Enum1: return true;
Enum2: return false;
};
cout << "why here??" << endl; // this line is getting printed for both inputs
return false;
}
int main() {
cout << "compack=" << compute((MyEnum)1) << endl; // printed "0"
cout << "compack=" << compute((MyEnum)13) << endl; // printed "0"
}
我检查了与开关和枚举相关的其他问题(例如3019153),但无法找出错误。
【问题讨论】:
标签: c++