哪位大侠能帮个忙,我不知道哪里错了

来源:百度知道 编辑:UC知道 时间:2024/06/30 00:45:58
#include<iostream.h>
#include<string.h>
template<typename T1,class T2>
T2 max( T1 a,T2 b){
return ((a>=b)?a:b);
}

template<>
int max<char*>(char* a,char* b){
if(strcmp(a,b)>0) return 1;
if(strcmp(a,b)==0) return 0;
if(strcmp(a,b)<0) return -1;
}

void main(){
int a;
double b;
char str1[100];
char str2[100];
cin>>a;
cin>>b;
cout<<max(a,b)<<endl;
cin.getline(str1,100,'\n');
cin.getline(str2,100,'\n');
cout<<max(str1,str2)<<endl;
}
这是一个关于函数模块重载的

不知道你是什么意思??你是要重载模板函数吗?那这样就可以了啊
template<typename T1,class T2>
T2 max( T1 a,T2 b){
return ((a>=b)?a:b);
}

int max(char* a,char* b){
if(strcmp(a,b)>0) return 1;
if(strcmp(a,b)==0) return 0;
if(strcmp(a,b)<0) return -1;
}

int max<char*>(char* a,char* b){
这行错了。。。

他没提示的吗