#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;
}
Inilah a::LOCAL_A
yang coba dicapai oleh enum yang diketik dengan kuat, tetapi ada perbedaan kecil: enum yang normal dapat dikonversi menjadi tipe bilangan bulat, sedangkan enum yang diketik sangat tidak dapat melakukannya tanpa gips.
Jadi, apakah ada cara untuk mengubah nilai enum yang sangat diketik menjadi tipe integer tanpa gips? Jika ya, bagaimana?