Bonjour à tous. Pour commencer ce post sur la désallocation de pointeur de pointeur j'ai écrit cette structure:
J'ai préalablement fait plusieurs fonctions avec cette structure et à présent je voudrais faire un free des deux variables pointeurs PS et PF par cette fonction:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 typedef struct avion{ int Num; int max; char depart[20]; char arrivee[20]; char Hdepart[6]; char Harrivee[6]; Passager *PS; int NR; Passager *PF; struct avion *Suiv; struct avion *Prec; }Vol;
Je voudrais me resservir de cette fonction pour faire des free de PS et PF.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 void vider_passager (Passager **liste_p) { Passager *tmp; tmp=*liste_p; if ((*liste_p)->suiv==*liste_p) { free(liste_p); } else { while ((*liste_p)->suiv!=(*liste_p)) { free(tmp); *liste_p=(*liste_p)->suiv; tmp=*liste_p; } free(liste_p); } }
J'ai essayé:
mais j'ai le message:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 vider_passager ((&liste_v)->PS); vider_passager ((&liste_v)->PF);
Comment dois je faire pour régler ça svp ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 error: request for member 'PS' in something not a structure or union error: request for member 'PF' in something not a structure or union
Partager