0

In C++, the type of a function member can be seen as :

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

I am wondering if the part that is before the (Args...) has an official name (I mean R(C::*))? (like the function declarator or something like that)

Vincent
  • 57,703
  • 61
  • 205
  • 388

1 Answers1

4

R(C::*) doesn't have a name. It's the concatenation of two different kinds of grammar productions. R is a type-specifier-seq whereas (C::*) is a noptr-abstract-declarator. But a noptr-abstract-declarator binds to parameters-and-qualifiers, i.e., (Args...) and so on, more strongly than to the type-specifier-seq. It's a bit like how in the expression 1+2*3 there is no name for the substring 1+2 since it has no independent meaning.

Brian Bi
  • 111,498
  • 10
  • 176
  • 312