Bonjour à tous. Pour commencer ce post sur la désallocation de pointeur de pointeur j'ai écrit cette structure:

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;
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
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);
    }
}
Je voudrais me resservir de cette fonction pour faire des free de PS et PF.
J'ai essayé:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
        vider_passager ((&liste_v)->PS);
        vider_passager ((&liste_v)->PF);
mais j'ai le message:
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
Comment dois je faire pour régler ça svp ?