#1 Le 07/07/2008, à 15:25
- jeff0176
passing argument 1 of «NomFonction» from incompatible pointer type?
Bonjour
j'ai un warning qui reviens souvent pour plusieurs lignes de mon programme:
-- passing argument 1 of «NomFonction» from incompatible pointer type --
pour l'exemple de code ici, j'ai comme Warning:
-- attention : passing argument 1 of «getIndex» from incompatible pointer type --
[cpp]
//fichier de structures
typedef struct Cellule_
{
char *element;
int index;
struct Cellule_ *suivant;
}Cellule;
//fichier de fonctions
int getIndex(Cellule **liste,char *element)
{
int nbr=0;
Cellule *tmp = *liste;
while(tmp!=NULL)
{
if(strcmp(tmp->element,element)==0)
return nbr;
nbr++;
tmp = tmp->suivant;
}
return -1;
}
//fichier test où j'appelle la fonction
void action(Cellule **lignes,Cellule **colonnes,char *nom, Regle **arbre,char* tableau)
{
int ligne = getIndex(&lignes,nom);
int colonne = getIndex(&colonnes,"M");
// .... ect
}
[/cpp]
quelqu'un aurait-il une idée pour éliminer tout ces warnings?
car je vois pas...
merci d'avance
#2 Le 07/07/2008, à 15:29
- jeff0176
Re : passing argument 1 of «NomFonction» from incompatible pointer type?
Bonjour
j'ai un warning qui reviens souvent pour plusieurs lignes de mon programme:
passing argument 1 of «NomFonction» from incompatible pointer type
pour l'exemple de code ici, j'ai comme Warning:
attention : passing argument 1 of «getIndex» from incompatible pointer type
//fichier de structures
typedef struct Cellule_
{
char *element;
int index;
struct Cellule_ *suivant;
}Cellule;
//fichier de fonctions
int getIndex(Cellule **liste,char *element)
{
int nbr=0;
Cellule *tmp = *liste;
while(tmp!=NULL)
{
if(strcmp(tmp->element,element)==0)
return nbr;
nbr++;
tmp = tmp->suivant;
}
return -1;
}
//fichier test où j'appelle la fonction
void action(Cellule **lignes,Cellule **colonnes,char *nom, Regle **arbre,char* tableau)
{
int ligne = getIndex(&lignes,nom);
int colonne = getIndex(&colonnes,"M");
// .... ect
}
quelqu'un aurait-il une idée pour éliminer tout ces warnings?
car je vois pas...
merci d'avance
ps: excusez pour le doublon.
#3 Le 07/07/2008, à 15:29
- philou8237
Re : passing argument 1 of «NomFonction» from incompatible pointer type?
je dirait que c'est à cause de ça :
int colonne = getIndex(&colonnes,"M");
Tu lui files un "const char *", et le type est normalement un "char *".
Ca le perturbe
Hors ligne
#4 Le 07/07/2008, à 15:34
- jeff0176
Re : passing argument 1 of «NomFonction» from incompatible pointer type?
le compilateur dit que ça vient de l'argument 1... donc ça ne doit pas être ça il me semble
ça viendrait de la structure vous croyez?
#5 Le 07/07/2008, à 15:38
- philou8237
Re : passing argument 1 of «NomFonction» from incompatible pointer type?
oui effectivement... je sais pas lire
Perso je pense pas que ça vienne de la structure, tu n'as rien fait de spécial.
Ah si ! je suis aveugle :
ta fonctions getIndex prend un Cellule** en 1er élément. Tu lui file &ligne
hors ligne est déjà un Cellule**, donc tu lui file un Cellule***.
Donc...
Hors ligne