在C ++中,函数成员的类型可以看作:
R(C::*)(Args...) qualifiers/specifiers
我想知道(Args...)
之前的部分是否有正式名称(我的意思是R(C::*)
)? (比如函数声明符或类似的东西)
答案 0 :(得分:4)
R(C::*)
没有名字。它是两种不同语法产生的串联。 R
是 type-specifier-seq ,而(C::*)
是 noptr-abstract-declarator 。但是 noptr-abstract-declarator 绑定到参数和限定符,即 (Args...)
等等,比到 type-specifier-seq 。这有点像表达式1+2*3
中的字符串1+2
没有名称,因为它没有独立的含义。