gpt4 book ai didi

c++ - 将动态数组分配作为函数尝试时出现运行时错误

转载 作者:太空宇宙 更新时间:2023-11-03 10:46:38 24 4
gpt4 key购买 nike

当我尝试动态分配一个像

这样的矩阵时
array = new double *[genome_size];
for(int i=0; i<genome_size; i++)
array[i] = new double[max_size]();

没有问题,一切都很好,直到我尝试创建一个函数来完成类似的工作

void createArray(double **array,  int max_size,  int genome_size)
{
array = new double *[genome_size];
for(int i=0; i<genome_size; i++)
array[i] = new double[max_size]();
}

并将函数用作

double **avgWing1;
createArray(avgWing1, max_size, genome_size);

我遇到运行时错误。我很好奇为什么?

任何想法表示赞赏。

最佳答案

问题是你如何传递参数。调用该方法后,avgWing1 的值没有改变。您需要返回它或将参数作为引用传递:

void createArray(double ** &array,  int max_size,  int genome_size)
// ^ here

关于c++ - 将动态数组分配作为函数尝试时出现运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19989283/

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