错误 - 尝试调用函数时"no matching function for call to 'show2D'";为什么会出现此错误?



在我所附的代码中,我编写了一个名为"show2D";然后我想在内联21中运行这个函数,但它显示了一个错误;没有用于调用"show2D"的匹配函数;

#include <iostream>
using namespace std;
void show2D(int variable[][20]){
int answer[4000];
int n=0;
for (int i=0; i<20;i++){
for(int j=0;j<20;j++){
if (variable[i][j]%2==1){
answer[n]=variable[i][j];
n++;
}
}
}   
}
int main() {
int trailarr[2][2];
trailarr[0][0] = 0;
trailarr[0][1] = 1;
trailarr[1][0] = 2;
trailarr[1][1] = 3;
show2D(trailarr);
return 0;
}

因为trailarr[2][2]数组,而show2D需要大小为variable[][20]的数组。因此,链接器找不到任何名为show2D的函数可以接受[2][2]数组。

最新更新