将二维数组作为参数传递

yog*_*ogi 10 c++ pointers

我试图将一个二维数组传递给一个接受指向指针的指针的函数。而且我了解到二维数组不是指向指针的指针(指向一维数组的指针)。当我编译下面的代码时,我收到了这个错误。

#include<iostream>

void myFuntion(int **array)
{
}
int main()
{
   int array[][]= {{1,2,3,4},{5,6,7,8,9},{10,11,12,13}};
   myFuntion(array);
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

在函数“int main()”中:第 5 行:错误:将“数组”声明为多维数组必须具有所有维度的边界,但由于 -Wfatal 错误而终止的第一次编译除外。

如果可能的话,任何人都可以清除我对此的疑虑和一些文档,以消除我的更多疑虑。

vmp*_*vmp 7

  void myFunction(int arr[][4])
Run Code Online (Sandbox Code Playgroud)

您可以在第一个 [] 中放置任何数字,但编译器将忽略它。将向量作为参数传递时,您必须指定除第一个维度之外的所有维度。