读书人

enum的有关问题求解:)

发布时间: 2012-02-16 21:30:36 作者: rapoo

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了。

读书人网 >C++

热点推荐