c - 在 c 中以 double 作为输入的函数中传递 double**

标签 c

我尝试将 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/

相关文章:

c - 使用 syslog 函数将日志值插入数据库

c - 如何计算除双引号或单引号之外的字符?

C - 设置 'popen' 子进程的标准输入 - 跨平台

c - 使用 C 中的线程获取用户输入而不阻塞 while 循环

c - 定点表示的符号

c - 在C中制作多维字符串

c - 如果用户输入为0则退出程序

c - 单链表插入同步

c - 在 C 中将时间间隔除以整数

c# - 从非托管 dll 中读取变量(结构数组)