c++ - 在 C++ 中创建新类型时出错

标签 c++ class enums

我刚开始学习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/

相关文章:

c++ - 在 C++98 和 C++11 中访问枚举值

Java 枚举垃圾回收和枚举变量差异

c++ - 表单自动保存问题

c++ - 将 STL 容器与包含其自身 key 的类一起使用

Python类调用其他方法

python - 自定义 sklearn 变压器类中矩阵 (X) 的维数(行)减少

c++ - 为什么函数不能在 C 中有引用参数?

c++ - 为什么我的 C++ 磁盘写入测试比使用 bash 的简单文件复制慢得多?

java - 复制/扩展静态类功能的最佳方式是什么?

wpf - UserControl 枚举 DependencyProperty 未绑定(bind)