#include <iostream> using namespace std; template <class T> //这个地方不能使用大括号 T max1(T a ,T b){ //函数名的声明不能与类库里面的函数声明相同 cout<<b<<endl; return b; } void main(){ int x=1; int y=2; cout<<max1(x,y)<<endl; } /************************************************************************/ /* 函数模板中的每一个类型参数在函数参数表中必须至少使用一次。 template <class T1, class T2> void func1(T1 para1)//错误,没有使用T2 { // 函数体 } */ /************************************************************************/ //函数模板如果有多个模板类型参数, // 则每个模板类型参数前面都必须用关键字class或typename修饰,并且这两个关键字可以混用。 //Ok,class和typename可以混用 template <class T, typename U> T func2(T a, U b); //error,每个模板参数前面都必须用class或typename修饰 template <class T, U> T func3(T a, U b);
时间: 2024-12-28 20:24:57