我认为这是 C++11 标准中的一个(小)缺陷
I believe this to be a (minor) defect in the C++11 Standard
我认为这是C++11标准中的一个(小)缺陷。在 [dcl.dcl] 中,我们有:
简单声明:
decl-specifier-seq opt init-declarator-listopt;
decl-specifier-seq 不能是可选的。
例如,下面的代码段无法编译:
x;
如果我在这里是对的,那么第 §8.3/1 段的开头也应该改变:
从:
声明符列表显示在可选项之后(第 7 条)decl-specifier-seq (7.1).
自:
声明符列表显示在 decl-specifier-seq (7.1) 之后。
太长,无法发表评论
在第7条第3款中:
在简单声明中,可选的初始化声明符列表可以是 仅在声明类(条款 9)或枚举 (7.2) 时省略, 也就是说,当 decl-specifier-seq 包含 类说明符,带有类键 (9.1) 的复杂类型说明符, 或枚举说明符。在这些情况下,每当类说明符或 枚举说明符存在于 decl-specifier-seq 中,标识符 在这些说明符中,由 声明(作为类名、枚举名或枚举器,具体取决于 语法)。在这种情况下,除了声明 未命名的位字段 (9.6),decl-specifier-seq 应引入一个或 更多名称进入程序,或应重新声明由一个引入的名称 以前的声明。
在第7条第9款中
仅在构造函数、析构函数和类型的函数声明中 转换可以省略 decl-说明符-seq。
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 运行同一解决方案的另一个项目的项目
- 挂起和取消挂起一个文件DLL
- 用C++中的一个变量定义一个常量
- 函数向量_指针有不同的原型,我可以构建一个吗
- 在c++中用vector填充一个简单的动态数组
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 预处理器:插入结构名称中的前一个行号
- 我在c++代码中生成了一个运行时#3异常
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- 从链接列表c++中删除一个项目
- 告诉一个 const char 数组,除了编译时 C 样式的字符串外,它不以 '