c++ - 多个枚举

标签 c++ enums

我想知道我是否可以在一个已经存在的文件中使用不同的枚举?

对于这个项目,我有一些元素可以作为许多书籍的类型。我想为书籍创建不同的故事并为它们创建第二个枚举。

enum element {
    ICE, FIRE, EARTH, WIND, NONE
};
enum book stories {
    FK, IK, EK, WK, NONE
};

这会导致我的编译器出现问题吗?

最佳答案

是的。枚举 NONE 出现在 elementbook stories 中(顺便说一句,您不能在命名枚举时使用内部空格)。

枚举类

如果您想在两个枚举中都使用 NONE,请使用 enum classes。

enum class element 
{
    ICE, FIRE, EARTH, WIND, NONE
};

enum class bookstories 
{
    FK, IK, EK, WK, NONE
};

然后你像这样使用你的枚举:

auto elem  = element::NONE;
auto story = bookstories::NONE;

关于c++ - 多个枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54336932/

相关文章:

c++ - typedef 枚举输入

java - 在 Java 中实现不同方法的枚举

c++ - 与 NAN 的算术运算

c++ - 如何从 CV_8UC4 矩阵中获取值

java - E 实例持有的 EnumSet<E> 的最佳初始化

arrays - 在 Typescript 中将字符串数组转换为枚举

Java 枚举出错?

c++ - 如何不画出场景边界?

c++ - 重用在 Try-Catch 上声明的变量

c++ - 通过外部评估调度将标准兼容性与不透明数据连接起来