Function Overloading and Overload Resolution
Defining more than one function that have the same name is function overloading. In order to be able to differentiate these functions, their parameters must be different.
The following code has multiple overloads of the
info() function, each taking a different type of parameter: