函数成员声明中各部分的名称

Name of the parts in a function member declaration

在C++中,函数成员的类型可以看作:

R(C::*)(Args...) qualifiers/specifiers

我想知道 (Args...) 之前的部分是否有正式名称(我的意思是 R(C::*))? (比如函数声明符或类似的东西)

R(C::*) 没有名字。它是两种不同类型的语法产生式的串联。 R 是一个 type-specifier-seq(C::*) 是一个 noptr-abstract-declarator。但是 noptr-abstract-declarator 绑定到 parameters-and-qualifiers, i.e., (Args...) 等等,比 type-specifier-seq 更强。这有点像表达式 1+2*3 中的子字符串 1+2 没有名称,因为它没有独立的含义。