Qu'elle est l'erreur ??

andrea1546 -  
Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<myconio.h>
# define L 8
# define C 8
int A[L][C];

void init(int[][C]);

int main()
{

init(A[8][8]); // le compilateur affiche erreur a ce niveau :"invalid conversion from 'int' to 'int' [][C]
(....)// Suite des instruction

getch();
return 0;

}

// initialisation

void init(int A[8][8])
{int i,j;

for(i=0;i<8;i++)
for(j=0;j<8;j++)
A[i][j]=0;

}

3 réponses

kirua-93 Messages postés 652 Statut Membre 72
 
yo
Je debute en C mais juste comme sa yaurais pas un truck entre les deux crochet ?
void init(int[ICI??][C]);
0
andrea1546
 
-____-"

Ben non c pas obligatoire par contre le 2ieme element est important [C], et même si je l'ajoute ca ne change rien l'erreur existe tjrs
0
kirua-93 Messages postés 652 Statut Membre 72
 
Daccord merci
0
Pacorabanix Messages postés 4122 Date d'inscription   Statut Membre Dernière intervention   663
 
init(A[8][8]); // le compilateur affiche erreur a ce niveau :"invalid conversion from 'int' to 'int' [][C]

Le tableau, c'est le nom du tableau " A " pas A[8][8] . Ce que tu as écris veut dire : Va regarder le int qui se trouve en postion [8][8] du tableau (comme tu peux faire A[2][4] par exemple...) et non seulement il n'existe pas car les indices de A vont de A[0][0] à A[7][7] puisqu'il y a 8 lignes et 8 colonnes, et donc te donnera un nombre aléatoire, et en plus la fonction attend un tableau et là tu lui donnes un int (la valeur 8;8 dans le tableau) donc le compilateur râle pour cela (il s'attend à ce que tu lui donnes un tableau int [] [8] mais tu lui donnes un int, d'où l'erreur)
0