Probleme avecma fonction de suppression en c urgent!!!!!!!!!
cyrina84
Messages postés43Date d'inscriptionmardi 3 avril 2007StatutMembreDernière intervention22 mai 2010
-
7 juil. 2008 à 20:09
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 2009
-
7 juil. 2008 à 23:21
Bonsoir àtous
jai un probleme avec cette fonction qui doit supprimer le 1er element de la table de hacahge.
elle nefonctionne pas: affiche des erreurs :
1--[Warning] passing arg 2 of `verifCondition2seq' from incompatible pointer type if( verifCondition2seq(TableHash[i]->mot, seq->mot )==1)
2- invalid initializer Liste tmp = TableHash;
3- invalid type argument of `->' TableHash = tmp->suivant;
4-incompatible type for argument 1 of `free' free(tmp);
je copte sur vous.
merci
void elaguer (Liste *seq, Liste **TableHash )
{
Liste *tmp;
while( seq != NULL && verif_condition_2seq(TableHash->mot, seq->mot ){
Liste tmp = TableHash;
TableHash = tmp->suivant;
free(tmp);
printf (" bon");
}
A voir également:
Probleme avecma fonction de suppression en c urgent!!!!!!!!!
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 7 juil. 2008 à 23:21
Je suppose qu'il y a des erreurs dans le copier coller de ton code, car il manque une parenthèse fermante après le while.
Ensuite:
TableHash->mot : Ceci ne peut pas fonctionner car TableHash est un pointeur de pointeurs.
Liste tmp = TableHash : Ne fonctionnera pas plus.
free(tmp) -> Le tmp ici n'est pas un pointeur.
TableHash = tmp->suivant -> Bon ici, de 1, TableHash est un pointeur de pointeurs. On ne peut pas le transformer en un pointeur simple. De 2, tmp n'est pas un pointeur.