<分区>
我在头文件中有 2 个枚举。
enum first {
alpha,
delta,
gamma,
};
enum second {
sigma = 20,
zulu,
omega,
};
我对编译没有任何问题。但是,在运行时,所有第二个枚举都设置为 0。即 sigma、zulu 和 omega 都是 0。然而,第一个从 0 到 3 是正确的。
这是怎么回事? 它适用于我的 Linux PC,但我的 QNX 有问题。
<分区>
我在头文件中有 2 个枚举。
enum first {
alpha,
delta,
gamma,
};
enum second {
sigma = 20,
zulu,
omega,
};
我对编译没有任何问题。但是,在运行时,所有第二个枚举都设置为 0。即 sigma、zulu 和 omega 都是 0。然而,第一个从 0 到 3 是正确的。
这是怎么回事? 它适用于我的 Linux PC,但我的 QNX 有问题。
最佳答案
没有。
#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
正如预期的那样。
关于c++ - 枚举完全设置为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31329912/