1、普通函数类型可以发生隐式类型转换
2、函数模板的自动类型推导,不会发生隐式类型转换
3、函数模板用显式指定类型,会发生隐式类型转换
#include<iostream>
using namespace std;
template<class T>
T myswap(T a, T b) {
return a + b;
}
void test() {
int a = 10;
int b = 20;
char c = 'c';
myswap(a, b);
//myswap(a, c);//自动类型推导,不会发生隐式类型转换
cout << myswap<int>(a, c) << endl;//显式指定类型,会发生隐式类型转换
}
int main() {
test();
return 0;
}