#include <iostream>
#include <string>
using namespace std;
template<typename T>
T myAdd(T a, T b){
return a + b;
}
int myAdd2(int a, int b){
return a + b;
}
int main()
{
int a = 1;
int b = 2;
char c = 'a'; // a的ask码 97
// cout << myAdd(a,c) << endl; // 自动类型推导,类型必须一致,不一致会导致报错,不会发生隐士类型转换
cout << myAdd<int>(a, c) << endl; // 显示指定类型,会发生隐士类型转换
cout << myAdd2(a,c) << endl; // 普通的也会发生隐士类型转换
return 0;
}
函数模板和普通函数区别
- 函数模板不允许自动类型转化
- 普通函数能够自动进行类型转化