Probleme avecma fonction de suppression en c urgent!!!!!!!!!

cyrina84 Messages postés 43 Date d'inscription mardi 3 avril 2007 Statut Membre Dernière intervention 22 mai 2010 - 7 juil. 2008 à 20:09
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 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");
}

1 réponse

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
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.

C++ (@++)<!--
0
Rejoignez-nous