J'ai la fonction suivanteAvertissement en passant tableau 2d
void initBoard(int * board[BOARD_ROWS][BOARD_COLS]){
int z = 0;
for(z = 0; z<10; z+=1){
int l;
for(l = 0; l<10; l+=1){
board[z][l] = 0;
}
}
}
et du principal je l'appelle comme
int plBoard[10][10];
initBoard(&pcBoard);
lors de la compilation cela fonctionne, mais je reçois un avertissement disant: avertissement: passage d 'arguments 1 de 'initBoard' du type pointeur incompatible. array est un entier et et la fonction attend un pointeur int je passe l'adresse de int. Qu'est-ce qui va pas avec ça?
alors quelle serait la signature correcte pour la fonction? –
Pax l'a, me semble-t-il. – Smashery
J'aime faire comme ceci: void initBoard (int board [/ * BOARD_ROWS * /] [BOARD_COLS]); pour éviter la confusion. Montrer la taille que l'on attend, mais aussi montrer qu'on ne peut pas utiliser sizeof dessus (puisque c'est vraiment un pointeur au lieu d'un tableau, dans la liste des paramètres.) –