C++ templates chapter 12(Specialization and Overloading)
Two function templates with the same name can coexist, even though they may be instantiated so that both have identical parameter types.
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
Function signature:
-
The unqualified name of the function (or the name of the function template from which it was generated)
-
The class or namespace scope of that name and, if the name has internal linkage, the translation unit in which the name is declared
-
The const, volatile, or const volatile qualification of the function (if it is a member function with such a qualifier)
-
The types of the function parameters (before template parameters are substituted if the function is generated from a function template)
-
Its return type, if the function is generated from a function template
-
The template parameters and the template arguments, if the function is generated from a function template