在《c++程序设计》中有这样一段描述:

可以赋给enum超出range的值?

可是我在Dev c++中写了这样的程序:

#include <cstdlib>

#include <iostream>

using namespace std;

enum flag{x=1,y=2,z=4,e=8};

int main(int argc, char *argv[])

{

flag f4 = flag(99);

cout<< f4 << endl;

}

不但能够编译通过,而且运行的时候能够正确的输出99,难道书上写错了?

相关文章: