虽然有解决方案很容易 convert an enum to a string ,我想要使用 enum class
的额外安全好处。有没有一种简单的方法可以将 enum class
转换为字符串?
(给出的解决方案不起作用,因为枚举类无法索引数组)。
最佳答案
您不能隐式转换为基础类型,但可以显式转换。
enum class colours : int { red, green, blue };
const char *colour_names[] = { "red", "green", "blue" };
colours mycolour = colours::red;
cout << "the colour is" << colour_names[static_cast<int>(mycolour)];
这是否太冗长取决于您。
关于c++ - 有没有一种简单的方法可以将枚举类转换为字符串(C++)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27939500/