下面有一处报错请问为什么啊
#include
using namespace std;
template
T max(T a,T b)
{
return a>b?a:b;
}
int max()
{
int a=1,b=2,c;
c=max(a,b); //此处max报错
cout<<c<<endl;
getchar();
return 0;
}
下面有一处报错请问为什么啊
#include
using namespace std;
template
T max(T a,T b)
{
return a>b?a:b;
}
int max()
{
int a=1,b=2,c;
c=max(a,b); //此处max报错
cout<<c<<endl;
getchar();
return 0;
}
两个错,一个是main函数写成max了
另一个是系统库函数存在叫max的函数,你再定义就混淆了,你的函数可以换成max1
#include<iostream>
using namespace std;
template <typename T>
T max1(T a,T b)
{
return a>b?a:b;
}
int main()
{
int a=1,b=2,c;
c=max1(a,b); //此处max报错
cout<<c<<endl;
getchar();
return 0;
}
编译通过