Bonjour, je reprends le code d'un ami et il y a une partie qui me "gêne". Voilà en gros son code :
Je doute qu'après Destroy(a) le pointeur soit remis à NULL. J'aurais plus fait
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 typedef struct{ blabla }A; A * CreateA(blabla) { A * a=malloc(sizeof(*a)); blabla return a; } void DestroyA(A * a) { blabla free(a); a=0; }
et DestroyA(&a); car a est une recopie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 void DestroyA(A ** a) { blabla free(*a); *a=NULL; }
Qu'en pensez-vous ?
Merci.
Partager