游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3120|回复: 5

关于enum使用时前面不能再加enum名称的疑惑

[复制链接]

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2010-12-13 10:44:00 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

11

主题

162

帖子

189

积分

注册会员

Rank: 2

积分
189
QQ
发表于 2010-12-14 10:54:00 | 显示全部楼层

Re:关于enum使用时前面不能再加enum名称的疑惑

enum 相当于常量定义。。。
本来就不加名称的。。。

像这样的会报错:

enum Flag
{
  FLAG_1,
  FLAG_2,
};

enum Flag1
{
  FLAG_1,
  FLAG_2,
};

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
 楼主| 发表于 2010-12-14 21:01:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

0

主题

769

帖子

1052

积分

金牌会员

Rank: 6Rank: 6

积分
1052
发表于 2011-2-5 22:18:00 | 显示全部楼层

Re:关于enum使用时前面不能再加enum名称的疑惑

就是告诉你 那个不需要加 是多余的...

8

主题

716

帖子

716

积分

高级会员

Rank: 4

积分
716
发表于 2011-2-12 14:38:00 | 显示全部楼层

Re:关于enum使用时前面不能再加enum名称的疑惑

高级语言就是使用symbol来代替缺乏阅读性的0101100,所以enum其本意是将同一用途的数字归类,并且以名称呼唤之。

4

主题

25

帖子

33

积分

注册会员

Rank: 2

积分
33
发表于 2011-3-1 04:38:00 | 显示全部楼层

Re:关于enum使用时前面不能再加enum名称的疑惑

enum
{
    num1,
    num2
};



const SHORT num1 = 0;
const SHORT num2 = 1;



#define num1 0
#define num2 1

对编译器来说,其实是差不多的东西,都是常量。
所以编译器告诉你,加上前面名称是多余的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-6 14:33

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表