我的班上有一个使用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/