设计一个函数模板max_of_array( ),该函数从一个数组中找出其中的最大元素,数组中存放元素的类型可能是多种多样的(如:int、float、double、char、char*)。
题目说明:
1) 声明一个函数模板max_of_array,用来处理基本数据类型int、float、double、char
template <class TYPE>
TYPE max_of_array(TYPE A[], int len) ;
2) 定义一个max_of_array的特殊版本,用来处理字符串类型
char* max_of_array(char * Strs[], int len);
#include <iostream>
using namespace std;
template <class TYPE>
TYPE max_of_array(TYPE a[], int len){
int max=0;
for(int i=0;i<len;i++){
if(a[i]>a[max])
max=i;
}
return a[max];
}
char* max_of_array(char * a[], int len){
int max=0;
for(int i=0;i<len;i++){
if(a[i]>a[max])
max=i;
}
cout<<"char*:";
return a[max];
}
int main() {
int a[5]={1,9,8,7,5};
char x[7]={'a','D','o','c','j','K','k'};
cout<<max_of_array<int>(a,5)<<endl ;
cout<<max_of_array<char>(x,7)<<endl;
cout<<max_of_array(x,7);
怎么去调用char*的那个函数啊,我试图调用它的时候各种报错