[英]What is the relevance of this statement in 7.1.6.1/1 in the C++ Standard?
7.1.6.1/1包含以下声明(强调我的):
有两个cv限定符 ,const和volatile。 如果cv-qualifier出现在decl-specifier-seq中 ,则声明的init-declarator-list不应为空 。
以上粗体语句的相关性是什么? 换句话说,是否可以在decl-specifier-seq中生成cv-unqualified类型的示例,其中声明的init-declarator-list为空?
当然,大多数类和枚举定义都使用它:
struct A { }; // valid
const struct B { }; // invalid, const would have no meaning
const struct C { } c { }; // valid
没有别的。 init-declarator-list仅用于简单声明,为此,标准(C ++ 11)声明:
7声明[dcl.dcl]
3在一个简单声明中 ,只有在声明一个类(第9节)或枚举(7.2)时,也就是说,当decl-specifier-seq包含一个类说明符时 ,可以省略可选的init-declarator-list。 elaborated-type-specifier ,带有类键 (9.1)或枚举说明符 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.