我尝试将 double 作为 double 传递,如下所示:
double calculErreurLocale(double erreurGlobale, double entree)
{
return entree*(1-entree)*erreurGlobale;
}
double** matrice1()
{
double** matrice_I;
int i;
matrice_I=malloc(sizeof(double*)*ligne);
for (i=0; i<ligne; i++)
{
matrice_I[i]=malloc(sizeof(double)*colonne);
}
//affiche_matriceFloat(matrice_I);
return matrice_I;
}
int main()
{
double **matrice = matrice1();
matrice[0][0]=-1;
matrice[1][0]=-1;
calculErreurLocale(errGlobale, matrice);
return = 0;
}
显然我收到了一个错误。我尝试转换它或类似的东西:
calculErreurLocale(errGlobale, (double) matrice);
然后我得到“错误:指针无法转换为类型‘double’”。
我的问题是别的吗,也许设计不正确......
最佳答案
根据 calculErreurLocale
的函数定义预计您传递二维数组 matrice
的一个元素。但是,如果您想将整个数组传递到函数中,然后对其进行操作,我建议您将函数定义更改为 double calculErreurLocale(double erreurGlobale, double** entree)
。代码片段太含糊,无法理解您想要用代码做什么,但显式地将数组类型转换为 double 值并不是答案。
关于c - 在 c 中以 double 作为输入的函数中传递 double**,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54863776/