【发布时间】:2018-08-04 16:00:44
【问题描述】:
我看到enum 的定义如下:
enum DAY{MON = 1, TUE, WED, THU, FRI, SAT, SUN,};
...编译成功。
在最后一个元素之后添加额外的“,”好吗?
【问题讨论】:
-
显然是这样。对于将枚举成员写成多行(通常带有注释)然后删除最后一个成员的程序员来说,这是一个有用的功能。
-
请注意,在 C90 中,尾随逗号是不允许的。 C99 及更高版本有一个明确的规则,允许尾随逗号:
enum identifieropt { enumerator-list , }(语法中的前一个替代项没有那个逗号)。 -
@HansPassant 自动生成枚举常量更加方便。代码生成器在所有情况下都可以简单地发出一个尾随逗号,而不必考虑它是否是最后一个。