我刚开始学习c++,在这个简单的代码中我遇到了以下问题:
enum class color_type {green,red,black};
color_type color(color_type::red);
我收到错误“color_type 不是类或 namespace ”。我的目标是创建一个只能取红色、黑色和绿色值的 color_type 类型的变量。请你帮助我好吗?谢谢
最佳答案
你的代码对我来说看起来像是有效的 c++11。
如果您的编译器不支持 c++11,那么您可以像这样模拟一个带有命名空间或结构的枚举类
struct colour_type
{
enum value
{
red,
green,
blue
}
}
//usage is like so
colour_type::value myColour = colour_type::red;
它并不完美,但它将枚举保留在自己的范围内。
关于c++ - 在 C++ 中创建新类型时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30544793/