12 Overloading [over]

12.1 Preamble [over.pre]

[Note 1:
Each of two or more entities with the same name in the same scope, which must be functions or function templates, is commonly called an “overload”.
— end note]
When a function is named in a call, which function declaration is being referenced and the validity of the call are determined by comparing the types of the arguments at the point of use with the types of the parameters in the declarations in the overload set.
This function selection process is called overload resolution and is defined in [over.match].
[Example 1: double abs(double); int abs(int); abs(1); // calls abs(int); abs(1.0); // calls abs(double); — end example]