[英]I believe this to be a (minor) defect in the C++11 Standard
我认为这是C ++ 11标准中的(次要)缺陷。 在[dcl.dcl]中我们有:
简单声明 :
decl-specifier-seq opt init-declarator-list opt ;
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包含一个类说明符时 ,可以省略可选的init-declarator-list , 详细说明-type-specifier ,带有类键 (9.1)或枚举说明符 。 在这些情况下,只要在decl-specifier-seq中存在类说明符或枚举说明符,这些说明符中的标识符就是声明声明的名称 (作为类名 , 枚举名或枚举符,取决于语法)。 在这种情况下,除了声明未命名的位字段(9.6)之外, decl-specifier-seq应在程序中引入一个或多个名称,或者重新声明由先前声明引入的名称。
并在第7条第9款中
只有在构造函数,析构函数和类型转换的函数声明中,才能省略decl-specifier-seq 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.