【发布时间】:2018-08-29 17:50:27
【问题描述】:
C11 标准在section 6.7/5 中指定:
C11 6.7/5
标识符的定义是对该标识符的声明 那:
(...)
——对于枚举常量,是(唯一的)声明 标识符;
(...)
上述段落的措辞是否表明
枚举常量的定义是(唯一的)声明
枚举常量的定义是(唯一的)声明?
【问题讨论】:
-
这意味着你不能在不定义枚举常量的情况下声明它。这也意味着您不能转发声明枚举常量。但是,范围仍然适用,因此您可以拥有:
enum { NAME1, NAME2 }; void function(void) { enum { NAME1 = 37, NAME2 = -57 }; … }。
标签: c language-lawyer declaration definition c11