我必須編寫一個模板函數,它可以找到矩陣的最大元素。我嘗試這樣做,錯誤是: Error 1 error C2664: 'greatest' : cannot convert parameter 1 from 'int [3][3]' to 'int [][1]'
矩陣的最大元素,模板函數C++
#include <iostream>
using namespace std;
template<class T>
T greatest(T a[][],int n, int m){
T max = a[0][0];
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
if(a[i][j] > max)
max = a[i][j];
return max;
}
int main(){
int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
int max = greatest<int>(a,3,3);
cout << max << endl;
return 0;
}
嘗試使用'** a'而不是'a [] []'。 –
@OlegVaskevich 我試過了,但如果函數的第一個參數是** a,如何在main中定義將是矩陣和類型** a的變量? – wdc