Bonsoir,

je doit créer une structure me permettant la gestion d'un ensemble d'éléments et une fonction permettant d'ajouter/supprimer un élément d'un ensemble.

Je bloque sur ma fonction remove2, le compilateur me sort "TP5_2.c:28: erreur: request for member ‘Elt’ in something not a structure or union
TP5_2.c:28: erreur: request for member ‘suivant’ in something not a structure or union
TP5_2.c:30: erreur: request for member ‘suivant’ in something not a structure or union"

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
#include<stdio.h>
#include<stdlib.h>
 
typedef struct _liste{
  int Elt;
  struct _liste *suivant;
}liste;
 
void affiche(liste *l){
  liste *l2;
  l2=l;
  while(l2!=NULL){
    printf("%d\n",l2->Elt);
    l2=l2->suivant;
  }
}
 
void add(liste **l,int val){
  liste *l2=malloc(sizeof(liste));
  l2->Elt=val;
  l2->suivant=*l;
  *l=l2;
}
 
void remove2(liste **l,int val){
  liste *l2;
  while((*l->Elt!=val) && (!*l))  *l=*l->suivant;
  l2=*l;
  *l=*l->suivant;
  free(l2);
}
 
 
 
 
 
int main(void){
  liste *l=NULL;
  add(&l,2);
  add(&l,5);
  add(&l,3);
  affiche(l);
  remove2(&l,5);
  affiche(l);
  return 0;
}
merci d'avance pour votre aide.