枚举完全设置为 0
enum completely set to 0
我在头文件中有 2 个枚举。
enum first {
alpha,
delta,
gamma,
};
enum second {
sigma = 20,
zulu,
omega,
};
编译没有问题。但是,在运行时,所有第二个枚举都设置为 0。即 sigma、zulu 和 omega 都是 0。然而,第一个从 0 到 3 是正确的。
这是怎么回事?
它适用于我的 Linux 个人电脑,但我的 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
符合预期。
我在头文件中有 2 个枚举。
enum first {
alpha,
delta,
gamma,
};
enum second {
sigma = 20,
zulu,
omega,
};
编译没有问题。但是,在运行时,所有第二个枚举都设置为 0。即 sigma、zulu 和 omega 都是 0。然而,第一个从 0 到 3 是正确的。
这是怎么回事? 它适用于我的 Linux 个人电脑,但我的 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
符合预期。