说完看着我周围已经建立了接受矩阵并执行不管它是什么,我需要它的功能,如下所示:传递矩阵功能,C
float energycalc(float J, int **m, int row, int col){
...
}
在主数组的大小定义和填充,但是我不能passs这个函数本身:
int matrix[row][col];
...
E=energycalc(J, matrix, row, col);
这在编译过程中导致警告
"project.c:149: warning: passing argument 2 of ‘energycalc’ from incompatible pointer type project.c:53: note: expected ‘int **’ but argument is of type ‘int (*)[(long unsigned int)(col + -0x00000000000000001)]’
并导致分段错误。
任何帮助非常感谢,谢谢。
'浮子energycalc(浮Ĵ,INT行,INT山口,INT米[行] [山口]){' – BLUEPIXY
数组的数组是不一样的指针的指针,例如参见[本老回答我的](http://stackoverflow.com/a/18440456/440558),看看为什么。你可以通过指向数组的指针(例如'int(* m)[]')。 –
@ legends2k这个问题只有'C'标记...当我冷静地抱怨我的回答时,我发现了困难的方式。 –