相关疑难解决方法(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万
查看次数

如何通过c中的指针传递二维数组

可能重复:
将表示2D数组的指针传递给C++中的函数

我试图通过指针将我的二维数组传递给函数,并希望修改值.

#include <stdio.h>

void func(int **ptr);

int main() {
    int array[2][2] = {
        {2, 5}, {3, 6}
    };

    func(array);

    printf("%d", array[0][0]);
    getch();
}

void func(int **ptr) {
    int i, j;
    for (i = 0; i < 2; i++) {
        for (j = 0; j < 2; j++) {
            ptr[i][j] = 8;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但程序崩溃了.我做错了什么?

c c++ pointers

8
推荐指数
2
解决办法
8123
查看次数

无法将'int(*)[size]'转换为'int **'

我有一个256x256的二维浮点数组,我试图将其传递给函数,而g ++给了我错误消息:Cannot convert 'int (*)[256]' to 'int**'。我该如何解决?

void haar2D(int** imgArr);

int imageArray[256][256];
haar2D(imageArray);
Run Code Online (Sandbox Code Playgroud)

我试图将功能参数更改为类型int[256][256]int*[256]但没有成功。

c++ compiler-errors multidimensional-array

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