A function’s signature consists of the function’s parameter list and the parameters’ ordering. A member function’s signature also includes the const/volatile qualifiers (if any) of that function. Signatures provide the information needed to perform the overload resolution.
A function’s return type is not considered part of its signature. Note also that the return type does not participate in overload resolution.