[英]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.