枚举类的vector的初始化列表存在问题

Issue with initializer list for vector of an enum class

本文关键字:存在 问题 列表 vector 枚举 初始化      更新时间:2023-10-16

我有一个枚举,以及枚举中一些内容的一对向量。为了类型安全,我想把枚举改为枚举类,但我得到了错误。考虑下面的代码片段:

#include <vector>
enum Colour {
        red,
        green,
        blue
};
int main() {
        const std::vector<Colour> something { red, green };
        return 0;
}

很好。但是,如果我将枚举更改为枚举类,则会得到诸如error: ‘green’ was not declared in this scope之类的错误。我能做什么?

使用Color::green作为枚举类