我是C的新手,已经做了一段时间的java,我无法弄清楚这一点 我有一个像这样声明的数组
int tabela[visina][sirina];
我想要做的是将它提供给一个看起来像这样的函数:
int flood(int i, int j, int trenutna, int zamenjat, int **tabela) {
tabela[i][j]=zamenjat;
if (tabela[i+1][j]==0) {
flood(i+1,j,trenutna,zamenjat,tabela);
} if (tabela[i-1][j]==0) {
flood(i-1,j,trenutna,zamenjat,tabela);
} if (tabela[i][j+1]==0) {
flood(i,j+1,trenutna,zamenjat,tabela);
} if (tabela[i][j-1]==0) {
flood(i,j+1,trenutna,zamenjat,tabela);
} else {
return 0;
}
}
我也在像这样的if语句中调用它
if ((flood(i,j,trenutna,zamenjat,tabela)==0) {
zamenjat++;
}
我得到的是一堆警告,我不知道如何解决:
passing argument 5 of ‘flood’ from incompatible pointer type
if ((flood(i,j,trenutna,zamenjat,tabela)==0) {
//if i delete the ( that is too much in here i get a segmentation fault
expected ‘int **’ but argument is of type ‘int (*)[(sizetype)(sirina)]’