我有一个函数,我想作为一个参数,一个可变大小的2D数组.
到目前为止我有这个:
void myFunction(double** myArray){
myArray[x][y] = 5;
etc...
}
Run Code Online (Sandbox Code Playgroud)
我在代码中的其他地方声明了一个数组:
double anArray[10][10];
Run Code Online (Sandbox Code Playgroud)
但是,调用myFunction(anArray)给了我一个错误.
当我传入数组时,我不想复制数组.所做的任何更改都myFunction应该改变数据的状态anArray.如果我理解正确,我只想作为参数传入指向2D数组的指针.该函数还需要接受不同大小的数组.例如,[10][10]和[5][5].我怎样才能做到这一点?
根据这个网站,我应该能够使用以下代码:
double stuff[3][3];
double **p_stuff;
p_stuff = stuff;
Run Code Online (Sandbox Code Playgroud)
但我得到的投诉是转让不允许转让.
难道我做错了什么?
我有一个extern"C"类型的函数,我想通过这个双重的东西[3] [3]来.所以我想我需要把它作为指针,对吧?