c - 枚举常量声明与定义 - C 标准
问题描述
C11 标准在第 6.7/5 节中规定:
C11 6.7/5
标识符的定义是该标识符的声明:
(...)
— 对于枚举常量,是标识符的(唯一)声明;
(...)
上述段落的措辞是否表明
枚举常量的定义是(唯一的)声明
枚举常量的定义是(唯一的)声明?
解决方案
这意味着声明一个枚举常量也定义了它。
因此,枚举常量在翻译单元的范围内不能出现多次。例如,下面的代码是无效的,因为它重新声明了一个枚举常量:
enum a {
AAA,
BBB
};
enum b {
BBB, // error, redeclaration
CCC
};
推荐阅读
- css - css - 在大屏幕上,两列,在小屏幕上,一列具有动态高度
- powerbi - 跨 2 个表 Power BI 的加权平均成本
- python-3.x - 带有两个蛞蝓的 Django 视图
- ruby-on-rails-3 - 如何使用 neo4j ruby 在单个属性上创建索引
- swift - 如何获取核心数据 sqlite 文件位置
- c# - 如何防止使用过多内存的 StreamReader.ReadLine( ... )?
- python-3.x - 索引错误:标量变量的索引无效
- linux - How do I run multiple behave+python tests simultaneously without errors?
- typo3 - 可以选中通量字段复选框吗?
- python - 找不到“胶水”的索引页