Bonjour,
il s'agit qu'une table de hachage de maniere à ce que chaque case du tableau contient une liste chainée, j'utilise 4 modules:
lca.h /*liste chainee*/
lca.c /*liste chainee*/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 typedef struct CELLULE { char* key; int data; struct CELLULE* suivante; }CELLULE; typedef CELLULE* LCA; /*je définis le type liste chainée qui pointe vers la première Cellule */ void detruire(LCA *chaine); /*prototype de la fonction detruire*/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include "lca.h" void detruire(LCA *chaine){ /*implementation de detruire*/ if ((*chaine)!=NULL){ LCA tmp= *chaine; *chaine=(*chaine)->suivante; free(tmp); tmp=NULL; detruire(&(*chaine)); } }
th.h /*table de hachage*/
th.c /*table de hachage*/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 include "lca.h" #define CAPA 4 typedef LCA TH[CAPA]; /*définir le type table de hachage*/ void vider(TH* hash); /*prototype de la fonction vider*/
Je reçois l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #include "th.h" void vider(TH* hash) { for(int i=0 ; i<CAPA ; i++) detruire(&(*hash)[i]); }
th.o: In function `vider':
/REP/th.c:23: undefined reference to `detruire' . Or le prototype de cette fonction est inclus dans th.c a travers th.h elle même incluant lca.h !! Quand je change les argument de détruire je reçois une erreur de mauvais type d'arguments ??!!!
MERCI D'AVANCE pour toute réponse








Répondre avec citation
Partager