Qu'elle est l'erreur ??

Fermé
andrea1546 - 8 déc. 2009 à 00:23
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 8 déc. 2009 à 01:01
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 599 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 octobre 2014 72
8 déc. 2009 à 00:30
yo
Je debute en C mais juste comme sa yaurais pas un truck entre les deux crochet ?
void init(int[ICI??][C]);
0
-____-"

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 599 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 octobre 2014 72
8 déc. 2009 à 00:45
Daccord merci
0
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
8 déc. 2009 à 01:01
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