3

我看到很多场合(谷歌搜索)枚举声明如下:

enum enum_tag {a = 0, b, c, d} tag_again;

enum enum_tag {a = 0, b, c, d};

或者

enum {a = 0, b, c, d} tag_again;

有时似乎 enum_tag 是类型,而 tag_again 是变量名,但如果 enum_tag 不存在,则 tag_again 似乎有时被用作两者之一。这是什么?

如果我要编码 enum {a = 0, b, c, d} tag_again; tag_again 是枚举类型还是无名枚举类型的变量?

4

1 回答 1

2

继续我的谷歌搜索,MSDN 给了我答案:MSDN C Enum Declarations

enum enum_tag {a = 0, b, c, d} tag_again;定义枚举类型 enum_tag 并声明该类型的变量:tag_again。

enum enum_tag {a = 0, b, c, d};定义 enum_tag 的枚举类型

enum {a = 0, b, c, d} tag_again;声明一个无名枚举类型的变量 tag_again (如我所想)

于 2013-04-10T11:26:05.427 回答