#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
は、強く型付けされた列挙型が達成しようとしていることですが、小さな違いがあります。通常の列挙型は整数型に変換できますが、強く型付けされた列挙型はキャストなしでは変換できません。
それで、強く型付けされた列挙値をキャストなしで整数型に変換する方法はありますか?はいの場合、どのように?