类模板不能根据参数进行类型推导实例化模板类,只能显示
#include <iostream>
using namespace std;
template<typename T>
T msum(T a,T b){
return a+b;
}
int main(){
cout << msum(1,2) << endl;
//cout << msum(1,3.1) << endl; //不能根据实参进行类型推导
cout << msum<double>(1,3.1) << endl;
cout << msum(1.0,3.1) << endl;
return 0;
}
class_template_name<类型参数> 对象名(实参列表);// 这一行代码有两个实例化
1.根据类模板加上类型参数 实例化成 模板类(具体类)
像上面的1+3.1如果不加类型double的话会报错,
但是加了double的时候就会把1转化为1.0就是两个double,就不会报错
2.根据生成的模板类 实例化 一个对象