为什么c++错了?请大家解惑

2024-12-04 04:43:09
推荐回答(2个)
回答(1):

//class和typename都一样 不过你也可以这样写不过我建议你最好统一;
#include
using namespace std;
template//;
T1 max(T a,T b,T c)//QQC++
{
if(b>a)
a=b;
if(c>a)
a=c;
return a;
}
int main()
{
int i1=8,i2=5,i3=6,i;
double d1=12.9,d2=15.765,d3=20.1,d;
long g1=67,g2=87,g3=98,g;
i=max(i1,i2,i3);//看你这里的应该是i=max(i1,i2,i3);吧
d=max(d1,d2,d3);//T1的类型不能通过实例化 来判断 ,也就是说系统不知道 T1到底是什么类型的
g=max(g1,g2,g3);nali
cout<<"i_max="< cout<<"f_max="< cout<<"f_max="< return 0;//建议去掉T1
}
template
T max(T a,T b,T c)//这样就可以了
{
if(b>a)
a=b;
if(c>a)
a=c;
return a;
}
我要求加分哦 呵呵 加不加随意了 呵呵 祝你编程愉快!

回答(2):

d=max(i1,i2,i3); // 前面的d应该是i ,而且比较正确的使用方式是 int i = max ( i1, i2, i3);
cout << "i_max" << i << endl; //这行的原来的d改为i 。