-1

我在stackoverflow中看到了一个关于如何在函数中传递a的答案,2d-array当我尝试其中一个时给出了3个或更多方法,它工作得很好。但是当我尝试使用该方法进行回溯时,它给了我一个错误。

我尝试在全球范围内声明它,但我想学习如何以这种方式使用它

#include<bits/stdc++.h>
using namespace std;

int callAgain(int,int);
int call(int,int);

int call(int arr[][5],int n)
{
  if(n==1)
    return 0;

  cout<<"anything";

  callAgain(arr,n-1);     //getting error here.

  return 0;
 }
int callAgain(int arr[][5],int n)
{
  call(arr,n);
  return 0;
 }
int main(){

int arr[5][5];
memset(arr,0,sizeof(arr));
call(arr,5);

return 0;
}

错误:从 int(*)[5] 到 int [-fpremissive] 的无效转换

4

1 回答 1

1

您的前向声明callcallAgain承诺第一个参数将是 an int,但是当您实现它们时,您会说第一个参数是 2D 数组。

编译器不喜欢被骗...

于 2019-05-31T18:30:34.123 回答