详细信息: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};
^
我知道我在这里做错了什么......如果有人能告诉我什么,这会有很大的帮助。
答案 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;
}