我有点困惑,因为我已经读过C ++中函数模板的部分特化是不可能的,但它适用于我(gcc 5.3.0)。
我的例子:
#include <iostream>
using namespace std;
template <typename T1, typename T2>
void fun(T1 a, T2 b){
cout << "template\n";
}
template <typename T1>
void fun(T1 a, int b){
cout << "Function partialy specialized\n";
}
int main(){
fun("ab", "cd"); //template
fun(2,2); //Function partialy specialized
fun("xx", 2); // Function partialy specialized
}
它是如何真正正确的?