为什么不能将作用域枚举隐式转换为 int?如果我有
enum class Foo:uint32_t{...};
然后我知道 Foo 覆盖的整数是那些覆盖的 uint32_t 的子集,所以我应该总是安全的。我在这里错过了一些怪癖吗?然而,相反的做法并不安全。
最佳答案
仅仅因为这样的转换总是可以成功并不意味着您希望它是隐式的。
作用域枚举的全部目的是它们是不同的类型,不会在重载解析期间导致混淆结果。
明确是好的。
关于c++ - 将作用域枚举转换为 int,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23549280/