关于枚举
enum director {north=1,west,south,east};enum director p;
假如p的初始是west
我要把p变为下一个south,要怎么写啊?
p++可以吗?
可是电脑在p++那就是过不了
2006-11-18 23:16
enum director {north=1,west,south,east};
int p=west;
p++ --->south
你的P又不是指向数组,怎么可以这样.

2006-11-19 15:23

2006-11-19 15:29
2006-11-19 18:06
你想的这是错误的概念
enum director {north=1,west,south,east};
//这个相当于定义了3个常量,north=1,west=2,south=3,east=4;
enum director p=west; //声明了一个枚举类型,给其赋值也应该是枚举类型
而,
p++ <=> p=p+1; //注意 1是整形,p是枚举类型怎么能赋值或运算呢
除非强制转换 p=p+(enum director)1 <=> p=south;

2006-11-19 18:25
2006-11-20 11:16
2006-11-20 11:29
你想的这是错误的概念
enum director {north=1,west,south,east};
//这个相当于定义了3个常量,north=1,west=2,south=3,east=4;
enum director p=west; //声明了一个枚举类型,给其赋值也应该是枚举类型
而,
p++ <=> p=p+1; //注意 1是整形,p是枚举类型怎么能赋值或运算呢
除非强制转换 p=p+(enum director)1 <=> p=south;
这样不行呀!
2006-11-20 17:36

2006-11-20 18:42
2006-11-20 18:54