这是编的过的代码:
#include <iostream>
using namespace std;
#include <cstring>
template <typename T>
T maxn(T array[], int n);
template<> char* maxn(char* str[], int n);
int main()
{
int ig[6] = {1,2,3,4,5,0};
double dg[4] = {1.3, 4.8, 2.8, 3.2};
char * cg[5] = {
"alex is cool",
"amy is nice",
"dwdw",
"al",
"ddd"
};
cout << maxn(ig, 6) << endl;
cout << maxn(dg, 4) << endl;
cout << maxn(cg, 5) << endl;
return 0;
}
template <typename T>
T maxn(T array[], int n)
{
T max = array[0];
for(int i = 0; i < n; ++i)
{
max = (max > array[i] ? max : array[i]);
}
return max;
}
template<> char* maxn(char* str[], int n)
{
char * longest = str[0];
for(int i = 0; i < n ; ++i)
{
if(strlen(longest) < strlen(str[i]))
{
longest = str[i];
}
}
return longest;
}
这是编不过的代码:
#include <iostream>
using namespace std;
#include <cstring>
template <typename T>
T maxn(const T array[], int n);
template<> char* maxn(const char* str[], int n);
int main()
{
int ig[6] = {1,2,3,4,5,0};
double dg[4] = {1.3, 4.8, 2.8, 3.2};
char * cg[5] = {
"alex is cool",
"amy is nice",
"dwdw",
"al",
"ddd"
};
cout << maxn(ig, 6) << endl;
cout << maxn(dg, 4) << endl;
cout << maxn(cg, 5) << endl;
return 0;
}
template <typename T>
T maxn(const T array[], int n)
{
T max = array[0];
for(int i = 0; i < n; ++i)
{
max = (max > array[i] ? max : array[i]);
}
return max;
}
template<> char* maxn(const char* str[], int n)
{
char * longest = str[0];
for(int i = 0; i < n ; ++i)
{
if(strlen(longest) < strlen(str[i]))
{
longest = str[i];
}
}
return longest;
}