1、如果函数模板和普通函数都可以实现,优先调用普通函数
2、可以通过空模板参数列表来强调调用函数模板
3、函数模板也可以发生重载
4、如果函数模板可以发生更好的匹配,优先调用函数模板
#include <iostream>
using namespace std;int my_add (int a, int b);
// {
// cout << "normal function" << endl;// return a + b;
// }template <class T>
T my_add (T a, T b)
{cout << "template function " << endl;return a + b;
}template <class T>
T my_add (T a, T b, T c)
{cout << "template function " << endl;return a + b;
}int main ()
{int a = 10;int b = 20;my_add<>(a, b);my_add<int>(a, b);my_add(a, b, 100);//优先调用模板函数char c = 'a';char d = 'b';my_add(c, d);
}