如何自动将强类型枚举转换为 int?
发布于 2022-07-28 23:13:33
#include <iostream>
struct a {
enum LOCAL_A { A1, A2 };
};
enum class b { B1, B2 };
int foo(int input) { return input; }
int main(void) {
std::cout << foo(a::A1) << std::endl;
std::cout << foo(static_cast<int>(b::B2)) << std::endl;
}
这a::LOCAL_A
是强类型枚举试图实现的,但有一个小的区别:普通枚举可以转换为整数类型,而强类型枚举在没有强制转换的情况下无法做到这一点。
那么,有没有一种方法可以将强类型枚举值转换为整数类型而无需强制转换?如果是,如何?
关注者
0
被浏览
15
1 个回答