碰到个switch中的枚举问题 不知道我又哪短路了。
#include<iostream>
using namespace std;
enum dir{up, down, left, right};
enum dir direct;
void moving()
{
switch(direct)
{
case up: break;
case down: break;
case left: break;
case right: break;
}
}
int main()
{
moving();
return 0;
}
这是我在写贪吃蛇代码中碰到的问题, 我把它简化了。以下是报错。
E:\Microsoft Visual Studio\Common\MSDev98\Bin\Cpp1.cpp(12) : error C2872: 'left' : ambiguous symbol
E:\Microsoft Visual Studio\Common\MSDev98\Bin\Cpp1.cpp(13) : error C2872: 'right' : ambiguous symbol
请教。
[解决办法]
把left 和right换成其他的其他的就能编译通过了 是比较奇怪 肯定left和right在其他文件中有特殊含义的吧
[解决办法]
left, right 已经在iostream中定义了,代表左对齐,右对齐
建议改定义的标识符
不然就用case:0,1,2,3
或者用stdio.h代替iostream