C++ C++;未声明的标识符-错误C2065
这很可能是一个简单的错误,但我只需要知道如何定义C++ C++;未声明的标识符-错误C2065,c++,C++,这很可能是一个简单的错误,但我只需要知道如何定义coloras以及如何在这个程序中执行它。(我已经创建了一个color.h文件,并将其放入源文件文件夹中,但还没有写入任何内容。) 该错误说明错误C2065:“颜色”:未声明的标识符 以下是发生错误的代码部分: enum class traffic_light { green, yellow, red }; traffic_light light = traffic_light::red; traffic_light& operator
color
as以及如何在这个程序中执行它。(我已经创建了一个color.h
文件,并将其放入源文件文件夹中,但还没有写入任何内容。)
该错误说明错误C2065:“颜色”:未声明的标识符
以下是发生错误的代码部分:
enum class traffic_light { green, yellow, red };
traffic_light light = traffic_light::red;
traffic_light& operator++(traffic_light &colour);
switch (colour) {
case traffic_light::green:{
cout << "green\n";
return colour = traffic_light::yellow;
}
case traffic_light::yellow: {
cout << "yellow\n";
return colour = traffic_light::red;
}
case traffic_light::red:{
cout << "red\n";
return colour = traffic_light::green;
}
}
traffic_light next = ++light;
cout << " << next << \n";
}
enum类交通灯{绿、黄、红};
交通灯=交通灯::红色;
交通灯和操作员++(交通灯和颜色);
开关(彩色){
案例交通灯::绿色:{
cout您正在关闭您的方法;
如果你让缩进帮助你,编程就容易多了
traffic_light& operator++(traffic_light &colour)//;<-- THIS was the real culprit
{ //<-- and now the switch is a part of the operator function body
switch (colour) {
case traffic_light::green: {
cout << "green\n";
return colour = traffic_light::yellow;
}
case traffic_light::yellow: {
cout << "yellow\n";
return colour = traffic_light::red;
}
case traffic_light::red: {
cout << "red\n";
return colour = traffic_light::green;
}
}
// also, what do you intend with the following?
/*traffic_light next = ++light;
cout << " << next << \n";*/
// if we got here there's an error, maybe a new light type?
// return red to be safe
return colour = traffic_light::red;
}
交通灯和操作员++(交通灯和颜色)//;你不需要打断;在你的switch语句中的每一个case之后?@jbutler483:return
做得很好…第13行是什么?哦,是的,我的错!:P@barakmanos你在方法签名后有一个分号,可能不是一个大括号。应该是:交通灯和操作员++(交通灯和颜色){
,括号最好在下面一行(但这当然是主观的;)。@EattomuchBread恐怕你没有领会他的意思。你的switch语句“悬空”,应该在方法中。