免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: chenzq1604
打印 上一主题 下一主题

[C] 问个枚举的问题, 枚举名是什么类型的? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-09-27 16:47 |只看该作者
原帖由 5毛党党员 于 2008-9-27 16:22 发表
。。。你都switch case 了,为啥不直接打 aa bb cc dd?


Perl的思维,看看有没有别的路可行

除了直接输入,还有恋夏寒兄讲的使用指针,还有什么方法没有?

论坛徽章:
0
12 [报告]
发表于 2008-09-27 17:32 |只看该作者
定义个数据

char a[][3] = {
     "aa",
     "bb",
     "cc",
     "dd"
};

然后a[month]就可以输出你想要的

aa bb cc dd

论坛徽章:
0
13 [报告]
发表于 2008-09-28 11:16 |只看该作者
原帖由 typadam 于 2008-9-27 17:32 发表
定义个数据

char a[][3] = {
     "aa",
     "bb",
     "cc",
     "dd"
};

然后a[month]就可以输出你想要的

aa bb cc dd


正解
C++ 枚举不能做到的是打印枚举成员的实际枚举名,常用解决方法是定义一个由枚举成员的值索引的字符串数组,然后索引输出。
版主的书读的太粗啊!

论坛徽章:
0
14 [报告]
发表于 2008-09-28 12:33 |只看该作者
enum body
{ a='a',b='b',c='c',d='c' };
这样可以不?

论坛徽章:
0
15 [报告]
发表于 2008-09-28 12:46 |只看该作者
就像一个变量名一样,enum的枚举名也只存在于编译期吧,运行时候的标识符就都不存在了。

[ 本帖最后由 apollolegend 于 2008-9-28 12:53 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP