相关疑难解决方法(0)

将2D数组传递给C++函数

我有一个函数,我想作为一个参数,一个可变大小的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].我怎样才能做到这一点?

c++ arrays pointers multidimensional-array

294
推荐指数
10
解决办法
59万
查看次数

将表示2D数组的指针传递给C++中的函数

http://www.neilstuff.com/guide_to_cpp/notes/Multi%20Dimension%20Arrays%20and%20Pointer%20Pointers.htm

根据这个网站,我应该能够使用以下代码:

double stuff[3][3];
double **p_stuff;
p_stuff = stuff;
Run Code Online (Sandbox Code Playgroud)

但我得到的投诉是转让不允许转让.

难道我做错了什么?

我有一个extern"C"类型的函数,我想通过这个双重的东西[3] [3]来.所以我想我需要把它作为指针,对吧?

c++ arrays

4
推荐指数
1
解决办法
3万
查看次数

标签 统计

arrays ×2

c++ ×2

multidimensional-array ×1

pointers ×1