标题:关于枚举
取消只看楼主
Donie
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2006-11-2
 问题点数:0 回复次数:4 
关于枚举
enum director {north=1,west,south,east};

enum director p;
假如p的初始是west
我要把p变为下一个south,要怎么写啊?
p++可以吗?
可是电脑在p++那就是过不了
搜索更多相关主题的帖子: 枚举 director south west 
2006-11-18 23:16
Donie
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2006-11-2
得分:0 
恩,是能过,可这为什么啊?
2006-11-19 18:06
Donie
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2006-11-2
得分:0 
恩,知道了,谢谢你们
2006-11-20 11:16
Donie
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2006-11-2
得分:0 
可是这虽然在C++里过不了,在c里却过了阿
2006-11-20 11:29
Donie
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2006-11-2
得分:0 
以下是引用unicorn在2006-11-19 18:25:41的发言:

你想的这是错误的概念

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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-103917-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.090229 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved