gpt4 book ai didi

c++ - 无法将 double [] [] 转换为 double **

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:53:52 25 4
gpt4 key购买 nike

我有一个带有 3 个参数的函数,第一个是 **double。

 normalizeDataZeroMeanUnitSD(double ** trainingActions, int numberOfTrainingActions, int descriptorDimension)

当我从 main 调用它时,我尝试使用 normalizeDataZeroMeanUnitSD(data, 681, 24);然而,我收到了

cannot convert parameter 1 from 'double [681][24]' to 'double **'

这是我构建数据数组的方式:

fstream infile;
infile.open("gabor\\Data.txt");

double data[681][24];

while (!infile.eof())
{
for(int j=0;j<681;j++)
{
for(int k=0; k<24;k++)
{

infile >> data[j][k];

}

}

}
infile.close();

有没有办法使用**数据来做同样的事情?

最佳答案

错误很明显:数据类型 double [681][24]double ** 不同。虽然 double[681] 确实可以衰减到指向其第一个元素的指针(因此,double*),但这并不意味着 double[681] [24] 可以衰减到 double**

这样想:double** 意味着指向许多指针的指针。但是 double[][] 中没有任何指针。充其量,ANY 维度的数组最多仍然只有一个指针:指向其连续存储的开头。

关于c++ - 无法将 double [] [] 转换为 double **,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21731524/

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