![]() |
#2
rjsp2013-08-31 10:21
|

#include<iostream>
using namespace std;
template <typename T>
T max(T b,T c)
{
return b>c?b:c;
}
int main()
{
int i1=185,i2=-76,i3=567,i;
double d1=56.87,d2=90.23,d3=-3214.78,d;
i=max(i2,i3);
d=max(d2,d3);
cout<<i<<' '<<d<<endl;
system("pause");
}
此处编译出现错误,提示为对重载函数的调用不明确.using namespace std;
template <typename T>
T max(T b,T c)
{
return b>c?b:c;
}
int main()
{
int i1=185,i2=-76,i3=567,i;
double d1=56.87,d2=90.23,d3=-3214.78,d;
i=max(i2,i3);
d=max(d2,d3);
cout<<i<<' '<<d<<endl;
system("pause");
}
而

#include<iostream>
using namespace std;
template <typename T>
T max(T a,T b,T c)
{
return b>c?b:c;
}
int main()
{
int i1=185,i2=-76,i3=567,i;
double d1=56.87,d2=90.23,d3=-3214.78,d;
i=max(i1,i2,i3);
d=max(d1,d2,d3);
cout<<i<<' '<<d<<endl;
system("pause");
}
是编译通过的,不明白,求解using namespace std;
template <typename T>
T max(T a,T b,T c)
{
return b>c?b:c;
}
int main()
{
int i1=185,i2=-76,i3=567,i;
double d1=56.87,d2=90.23,d3=-3214.78,d;
i=max(i1,i2,i3);
d=max(d1,d2,d3);
cout<<i<<' '<<d<<endl;
system("pause");
}