准则一:

    两候选函数  一方其形参表各类型 与 调用实参列表各类型更匹配,则优先。

准则二:

    在准则一无法分辨的情况下,一方函数模板实例而另一方为非模板函数,则取非模板函数。

准则三:

    在前两个准则都无法分辨的情况下,取更为“特殊”的一方而淘汰另一方。

代码如下:

template<typename T> void func(T v) {     cout<<"template<typename T>"<<v<<endl; }  /* template< > void func(float v) {     cout<<"template<>"<<v<<endl; } */ void func(float v) {     cout<<"void func float"<<v<<endl; }  void func(int v) {     cout<<"void func int"<<v<<endl; } int main(int argc, char const *argv[]) {     func(1);      func(1.0);      func(1.f);   	func<>(1.f);     system("pause");     return 0; }