首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

碰到个switch中的枚举有关问题 不知道小弟我又哪短路了

2012-03-28 
碰到个switch中的枚举问题不知道我又哪短路了。#includeiostreamusing namespace stdenum dir{up, down,

碰到个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

热点排行