我的班上有一个使用3维tfpairexp作为输入参数的方法。并且我需要稍后使用tfpairexp中的值。

void calctfpairexp (int tf1, int tf2, double tfpairexp[][2][3])
{

    int ctr,c;
    for (int j = 0; j < cchips && (c = chips[j].crepls); j += c)
    {
        int ctrl_no=0;
        for (int *p = chips[j].ctrl ; p && (ctr=*p)>=0; ++p,ctrl_no++)  {

            for (int k = 0; k < c; ++k)
            {

                tfpairexp[j][ctrl_no][k]=interactionFunc(2,3,1);
            }
        }
    }

}


我像这样在类内部调用方法:
calctfpairexp(tf1,tf2,tfpairexp);
我需要在下一行使用tfpairexp内的值。
但是编译器在这一行中给出了错误:

`calctfpairexp(tf1,tf2,tfpairexp);`


它说找不到适合于calctfpairexp的函数。任何想法?

最佳答案

我希望该函数声明会出现语法错误,因为数组参数声明无效。你需要:

void calctfpairexp (int tf1, int tf2, double tfpairexp[][2][3])


数组索引的东西在参数声明器之后

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

10-11 00:39