enum的问题,求解:)
#include <iostream>
#include <ostream>
using namespace std;
enum color { red, black };
enum notebook { screen,keyboard };
int main() {
color c = static_cast <color> (keyboard);
if (c == red) {
cout < < "red " < < endl;
} else if (c == black) {
cout < < "black " < < endl;
}
}
输出black,困惑:)高手解惑。。
[解决办法]
color c = static_cast <color> (keyboard);
c的值等于2,black和keyboard都是2
所以输出black
[解决办法]
说明说错了
c的值等于2,black和keyboard都是2
应该都是1 ,是从零开始
[解决办法]
black的值是1,c赋值后的值也是1,在执行那个if语句的时候,当然是第二个判断条件是“真”,所以输出black了。