//fl.8.5.cpp #include<iostream> using namespace std; template<typename T> T max5(T[]); //模板函数的声明 int mian() { int arr[5] = { 1,2,5,4,3 }; double arr_d[5] = { 19.6,13,19.8,100.8,98.4 }; cout << "The Max Element of int array: " << max5(arr) << endl; cout << "The Max Element of double array: " << max5(arr_d) << endl; //调用模板函数,统计数组中的最大值 return 0; } template<typename T> T max5(T st[]) { T max = st[0]; for (int i = 0; i < 5; i++) { if (max < st[i])max = st[i]; } return max; //通过循环,计算5个元素中的最大值,此处允许指定数组的长度,否则需要通过参数传递数组长度 }
时间: 2024-01-08 08:04:32 浏览: 63
代码中有一个小错误,函数 main 的首字母写成了小写的 mian,应该改为 main。另外,模板函数的定义和声明应该在同一个文件中,或者在定义之前需要加上模板函数的声明。下面是修改后的代码:
```c++
#include<iostream>
using namespace std;
template<typename T>
T max5(T[]); //模板函数的声明
int main() {
int arr[5] = { 1,2,5,4,3 };
double arr_d[5] = { 19.6,13,19.8,100.8,98.4 };
cout << "The Max Element of int array: " << max5(arr) << endl;
cout << "The Max Element of double array: " << max5(arr_d) << endl;
//调用模板函数,统计数组中的最大值
return 0;
}
template<typename T>
T max5(T st[]) {
T max = st[0];
for (int i = 0; i < 5; i++) {
if (max < st[i])
max = st[i];
}
return max;
//通过循环,计算5个元素中的最大值,此处允许指定数组的长度,否则需要通过参数传递数组长度
}
```
阅读全文