Next: , Previous: Methods, Up: Cplusplus


8.7 The ‘#’ Type Descriptor

This is used to describe a class method. This is a function which takes an extra argument as its first argument, for the this pointer.

If the ‘#’ is immediately followed by another ‘#’, the second one will be followed by the return type and a semicolon. The class and argument types are not specified, and must be determined by demangling the name of the method if it is available.

Otherwise, the single ‘#’ is followed by the class type, a comma, the return type, a comma, and zero or more parameter types separated by commas. The list of arguments is terminated by a semicolon. In the debugging output generated by gcc, a final argument type of void indicates a method which does not take a variable number of arguments. If the final argument type of void does not appear, the method was declared with an ellipsis.

Note that although such a type will normally be used to describe fields in structures, unions, or classes, for at least some versions of the compiler it can also be used in other contexts.