关于运行C++代码错误

来源:百度知道 编辑:UC知道 时间:2024/07/07 01:02:55
#include"iostream.h"
#include "stdlib.h"
#include "string.h"
template <class Type>
Type max(Tpye d1,Type d2)
{
if(d1>d2)
return d1;
else
return d2;

}
int max(int,int);
char max(char,char);
char * max(char *str1,char *str2); //重载max函数,也是声明函数原形
void main()
{
int ival1,ival2=4;
float fval1=12.3;
float fval2=45.67;
cout<<max(ival1,ival2)<<endl;
cout<<max(fval1,fval2)<<endl;
cout<<max('a','A')<<endl;
cout<<max("Hello","Hello world")<<endl;
}
char * max(char *s1,char *s2)
{
if(strcmp(s1,s2)>0) return s1;
else return s2;

}
有如下错误:谁帮解决????.
C:\Documents and Settings\Administrator\桌面\练习1\2\2.cpp(134) : error C2061: syntax error : identifier 'Tpye'
C:\Documents and Set

template <class Type>
Type max(Tpye d1,Type d2)
{
if(d1>d2)
return d1;
else
return d2;

}
定义了一个函数模板,不过第一个参数类型Tpye写错了,应该是Type。
下面定义的三个max我觉得是多余的,上面那个模板max就可以处理那三种情况了,如果非要的话,就要把函数实现写出来,单单声明会找不到函数体。
完整代码
#include"iostream.h"
#include "stdlib.h"
#include "string.h"
template <class Type>
Type max(Type d1,Type d2)
{
if(d1>d2)
return d1;
else
return d2;

}
//int max(int,int);
//char max(char,char);
//char * max(char *str1,char *str2); //重载max函数,也是声明函数原形
void main()
{
int ival1,ival2=4;
float fval1=12.3;
float fval2=45.67;
cout<<max(ival1,ival2)<<endl;
cout<<max(fval1,fval2)<<endl;
cout<<max('a','A')<<endl;
cout<<max("Hello","Hello world")<<endl;