gpt4 book ai didi

c++ - 将自定义大小的多维数组传递给函数

转载 作者:太空宇宙 更新时间:2023-11-04 11:57:39 24 4
gpt4 key购买 nike

我有已知 x 大小 (5) 的数组,y 取自变量,所以数组是这样的 - array[5] [y];

现在我很烦恼如何将它传递给函数,我不会编辑它,只是从中读取数据。

我想做这样的事情:

void someFunction(double **array)

但是我明白了

convert error: cannot convert `double (*)[((unsigned int)((int)n))]' to `double**' for argument `2' to `void findMax(int, double**, int)'|

最佳答案

对于数组[5][x]

不幸的是,您不能为像 double[5][] 这样的数组定义类型.您只能省略多维数组的第一维,不能省略最后一维。

对于数组 [x][5]

你应该选择 void someFunction(double array[][5], int size) .然后你用 for (int i = 0; i < size; i++) 遍历元素.

例子:

void someFunction(double array[][5], int size) {
for (int k = 0; i < size; i++)
for (int i = 0; i < 5; i++)
std::cout << array[k][i] << std::endl;
}


double a[10][5];
// populate data
someFunction(a, 10);

通常首选使用std::容器而不是原始 C 数组。

看看 std::vector 例如。

关于c++ - 将自定义大小的多维数组传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15477812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com