c++ - 我如何访问 C++ 中的枚举

标签 c++

下面的代码来自C代码,你可以直接使用bare word B1 B2 B3。 但是在 C++ 中是不允许的,需要适当的命名空间,那么我如何以 C++ 方式使用 B1 B2 B3(B1 B2 B3 的正确命名空间是什么)?

struct A {
    int X;
    union {
        struct B {
            enum { B1, B2, B3 } ABCD;
        }v2;
    } v;
};

最佳答案

您可以创建该结构的实例并访问其成员:

 A a;
 cout << a.v.v2.B1 << a.v.v2.B2 << a.v.v2.B3 << '\n';

关于c++ - 我如何访问 C++ 中的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36806660/

相关文章:

c++ - 错误 : pointer to incomplete class type is not allowed

c++ - 如何在 eclipse 中构建代码之前运行 vcvars32.bat?

c++ - 有没有办法在 C++ 中获取动态分配数组的长度?

c++ - 如何检查 stringstream>>string 是否不会在字符串上放置任何内容?

c++ - 将调用哪个重载模板?

c++ - 在 Yosemite 中通过 g++ 链接 SOIL 的问题

c++ - 为什么 gcc 和 clang 为函数模板的实例化生成不同的符号名称?

c++ - 设置默认的 union 成员

C++ 多重运算符=()

c++ - 初始化模板内部类的静态成员