繁体   English   中英

在C ++中使用递归时无法传递二维数组

[英]Unable to pass 2-Dimensional array while using recursion in c++

我在stackoverflow中看到了一个有关如何在函数中传递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]的无效转换

您对callcallAgain前向声明保证第一个参数将为int ,但是在实现它们时,您将说第一个参数为2D数组。

编译器不喜欢被骗...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM