c++ - 枚举完全设置为 0

标签 c++ g++ 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/

相关文章:

c++ - 加载保存的 SURF 关键点

c++ - 为什么boost::locale::date_time中的std::bad_cast异常适用于全局而不是本地对象?

c++ - 为什么别名模板给出冲突的声明?

linux - 如何使用 shell 脚本选择一行?

fatal-error - 如何修复QNX ldd:FATAL:无法加载库XXXX.so.0?

c - 打开视频流时 Malloc 检查失败

c++ - gtest 如何比较两个数组中的值?

c++ - 用户输入...如何检查 ENTER 键

c++ - antlr4 c++ 目标的 undefined reference 问题

c++ - 派生类作为默认参数 g++