c++中模板函数的参数是常量和变量有什么不同
template<typenameT>TMin(Ta,Tb){return(a<b)?a:b;}当运行cout<<Min("d","e")<<endl;cout<<Min...
template<typename T>
T Min(T a,T b)
{
return (a<b)?a:b;
}
当运行
cout<<Min("d","e")<<endl;
cout<<Min("abcdefg","abefdgg")<<endl;
时返回的值是错误的,也就是在模板里无法比较,直接返回了后一项,但是如果输入的
/*char* a;
char* b =new char[10];*/
char a,b;
cin>>a;
cin>>b;
cout<<Min(a,b)<<endl;
就没问题,这是怎么回事 展开
T Min(T a,T b)
{
return (a<b)?a:b;
}
当运行
cout<<Min("d","e")<<endl;
cout<<Min("abcdefg","abefdgg")<<endl;
时返回的值是错误的,也就是在模板里无法比较,直接返回了后一项,但是如果输入的
/*char* a;
char* b =new char[10];*/
char a,b;
cin>>a;
cin>>b;
cout<<Min(a,b)<<endl;
就没问题,这是怎么回事 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询