C++ 错误-“;对';show2D&x27&引用;在尝试调用函数时;为什么会出现这种错误?

C++ 错误-“;对';show2D&x27&引用;在尝试调用函数时;为什么会出现这种错误?,c++,C++,在我附加在这里的代码中,我编写了名为“show2D”的函数,然后我想在inline 21中运行这个函数,但它显示了一个错误,即“没有匹配的函数用于调用'show2D'” #包括 使用名称空间std; void show2D(int变量[][20]){ int回答[4000]; int n=0; 对于(int i=0;i,因为trailar是一个[2][2]数组,show2D需要一个大小为变量[][20]的数组。因此链接器找不到任何名为show2D的函数可以接受[2][2]数组。键入?int-tr

在我附加在这里的代码中,我编写了名为“show2D”的函数,然后我想在inline 21中运行这个函数,但它显示了一个错误,即“没有匹配的函数用于调用'show2D'”

#包括
使用名称空间std;
void show2D(int变量[][20]){
int回答[4000];
int n=0;

对于(int i=0;i,因为
trailar
是一个
[2][2]
数组,
show2D
需要一个大小为
变量[][20]
的数组。因此链接器找不到任何名为
show2D
的函数可以接受
[2][2]
数组。

键入?
int-trailar[2][2];
应该是
int-trailar[2][20];
show2D
接受一个具有可变行数和20列的2D int数组(尽管编写的代码只有在
variable
具有20行时才有效)。
trailar
是一个具有2行2列的2D int数组。将
trailar
声明为
[20][20]
数组:
int-trailar[20][20]
。使用
for
循环来初始化值。我现在明白了。谢谢。
#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;
}