C++ 错误-“;对';show2D&x27&引用;在尝试调用函数时;为什么会出现这种错误?
在我附加在这里的代码中,我编写了名为“show2D”的函数,然后我想在inline 21中运行这个函数,但它显示了一个错误,即“没有匹配的函数用于调用'show2D'”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
#包括
使用名称空间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;
}