枚举完全设置为 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

符合预期。