刚学C++,看书上谭老师的程序不知道错在呢,请教一下
#include <iostream>using namespace std;
template <typename T> //模板声明,其中T为类型参数
T max(T a,T b,T c)
{
if(a>b) a=b;
if(a>c) a=c;
return a;
}
int main()
{
int i1=8,i2=5,i3=6,i;
double d1=56.9,d2=90.765,d3=43.1,d;
long g1=67843,g2=-456,g3=78123,g;
i=max(i1,i2,i3); //调用函数模板,此时T被int取代
d=max(d1,d2,d3); //调用函数模板,此时T被double取代
g=max(g1,g2,g3); //调用函数模板,此时T被long取代
cout<<"i=max="<<i<<endl;
cout<<"d=max="<<d<<endl;
cout<<"g=max="<<g<<endl;
return 0;
}
输出的值并不是按最大值输出~
[ 本帖最后由 gz0000 于 2010-4-5 12:22 编辑 ]