c++ - 设置类的枚举成员无效使用 ‘enum'

标签 c++

class A{
    public:
        enum b{C,D};  
};

int main()
{
    A a;
    a.b = A::C;

    return 0;
}

我明白了

main.cpp:21:7: error: invalid use of ‘enum A::b’
     a.b = A::C;
       ^

为什么?据我所知,我的枚举 b 是公开的,我可以简单地将它设置为任何值

最佳答案

enum b{C,D}; 创建一个名为 b 的枚举 type

如果你想要一个变量,它需要单独创建:

enum b{C,D};
b var;

// ...

a.var = A::C;

关于c++ - 设置类的枚举成员无效使用 ‘enum',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57489235/

相关文章:

c++ - 在 C++ 中使用 rand() 和 srand()

c++ - 用于初始化派生类型的通用 switch 语句

c++ - 如何引用连续的组件(button1、button2 等)?

c++ - 如何在不调用复制构造函数的情况下向 vector 添加元素?

c++ - 模板和参数相关查找

c++ - GLSL - 尝试添加多盏灯?

c++ - CodeBlocks 13.12 使用什么 c++ 版本?

c++ - 无法实例化抽象类,但类不是抽象的

c++ - QSocketNotifier 和 QFile::readAll()

c++ - 如何在异构容器上使用 boost::fusion::transform?