虽然我有使用Java的Enums的经验,但typedef和Objective-C / C样式的枚举对我来说是新的。我似乎无法掌握枚举与开头声明的名称和枚举与未声明的名称之间的区别。例如:
typedef enum Months {JAN, FEB, MAR, APR}
Months;
VS
typedef enum {JAN, FEB, MAR, APR}
Months;
是否有理由选择前一种形式?通过两次声明“月份”,前者似乎是多余的。
这个question看起来非常相似,但最后没有名字,所以我不知道它是否回答了同样的问题。
答案 0 :(得分:0)
一般来说
typedef enum <tagname 1>
{
//values
}<tagname2>;
<tagname 1>
用于更清晰地说明您的枚举是什么
虽然<tagname2>
只是一个引用名称,其中包含typedef enum <tagname 1>
编译器支持两种变体