我在头文件中有2个枚举。
enum first {
alpha,
delta,
gamma,
};
enum second {
sigma = 20,
zulu,
omega,
};
我对编译没有任何问题。但是,在运行时,所有第二个枚举都设置为0.即sigma,zulu和omega都是0。然而,第一个是适当的从0到3。
是怎么回事? 它适用于我的Linux PC,但我的QNX存在问题。
答案 0 :(得分:1)
没有
#include <iostream>
enum first { alpha, delta, gamma, };
enum second { sigma, zulu, omega, };
int main(int argc, char **argv)
{
using namespace std;
cout<<alpha<< endl;
cout<<delta<< endl;
cout<<gamma<< endl;
cout<<sigma<< endl;
cout<<zulu<< endl;
cout<<omega<< endl;
return 0;
}
输出:
0
1
2
0
1
2
正如所料。