【发布时间】:2016-03-15 06:56:58
【问题描述】:
我有一个 256x256 二维浮点数组,我试图将它传递给一个函数,而 g++ 给了我错误消息:Cannot convert 'int (*)[256]' to 'int**'。我该如何解决这个问题?
void haar2D(int** imgArr);
int imageArray[256][256];
haar2D(imageArray);
我尝试将函数参数更改为int[256][256] 和int*[256] 类型,但没有成功。
【问题讨论】:
-
你试过把函数参数类型改成
std::vector<std::vector<int>> &imgArr吗? -
我以前没有使用过向量,如果可能的话,我想使用二维数组。我也已经使用行列(例如
imagearray[i][j])表示法编写了函数体,这可以与向量一起使用吗? -
您可以参考this,它是C,您可以使用引用代替,也可能使用模板来获取数组大小。祝下次搜索好运。
-
到白板上写100遍“数组不是指针”。
标签: c++ multidimensional-array parameters compiler-errors implicit-conversion