两个不同的枚举有相同的项目在 C++ 中不起作用
Two different enums have same items not working in c++
我真的很想在我的代码中做到这一点,但是这个错误:枚举器的重新定义'TEST'
enum test1 {
TEST
};
enum test2 {
TEST
};
有没有办法解决这个问题,因为我真的想在不同的枚举中使用相同的名称。还有为什么会这样?
这可以通过将您的枚举定义为 enum class
而不是普通的 enum
来解决。通过定义为普通枚举,名称没有作用域,因此彼此冲突。如果它们被定义为枚举 类,则名称包含在枚举的范围内。但是请注意,由于此更改,您还需要使用范围解析运算符,例如test1::TEST
和 test2::TEST
.
我真的很想在我的代码中做到这一点,但是这个错误:枚举器的重新定义'TEST'
enum test1 {
TEST
};
enum test2 {
TEST
};
有没有办法解决这个问题,因为我真的想在不同的枚举中使用相同的名称。还有为什么会这样?
这可以通过将您的枚举定义为 enum class
而不是普通的 enum
来解决。通过定义为普通枚举,名称没有作用域,因此彼此冲突。如果它们被定义为枚举 类,则名称包含在枚举的范围内。但是请注意,由于此更改,您还需要使用范围解析运算符,例如test1::TEST
和 test2::TEST
.