Several function definitions with the same name, but different formal parameters
Overload resolution is a compile time issue
The C++ Prog. Lang. (3. edition): Page 149-153
The C++ Prog. Lang. (4. edition): Page 326-330
Function overloading
For a given function call, f(a1, ..., an), the types of the actual parameters are used to select a single best match among the overloaded function definitions
If no single best match can be found, an ambiguity is reported at compile time
The function return types do not take part in overload resolution
Finding the best match
Pairs of actual and formal parameters are compared - details on the next page
A function that is the best match for one argument and a better than or equal match for all other arguments is called (§12.3.4, 4ed)