如何从CPP中的头文件访问枚举

时间:2014-03-13 05:06:17

标签: c++ oop

详细信息:C ++,gcc编译器。

假设我有一些带有一些

的头文件
    :
class  myClass {
   public: 
    enum color {red, blue};
    :

如何在源文件中设置变量颜色,其中包含文件并声明了

myClass T;

出于某种原因

我无法将其设置为T.color = red;

我得到了

error: cannot refer to type member ‘color’ in
      ‘something::myClass’ with '.'
  T.color = red;
    ^
<path of header file>:77:7: note: 
      member ‘color’ declared here
        enum color {red, blue};
             ^

我知道我在这里做错了什么......如果有人能告诉我什么,这会有很大的帮助。

1 个答案:

答案 0 :(得分:2)

enum color {red, blue};定义类型enum color,但不定义字段color。您需要按enum color field;enum {red, blue} color;

声明字段

这是代码工作

class  myClass {
   public: 
    enum color_t {red, blue};
    enum color_t color;
    // enum {red, blue} color; // or this
};

int main() {
    myClass my;
    my.color = myClass::red;
    my.color = myClass::blue;
    return 0;
}