Bonjour, après chaque delete je désire mettre mon pointeur à NULL. J'ai chopé sous http://cpp.developpez.com/faq/cpp/?p...elete_sequence (comment détruire les pointeurs d'un conteneur ?) une fonction qui marche très bien. Mais je trouve que c'est un peu "lourd" comme code. Alors, je me suis fait la macro suivante :
avec le code suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #define DELETE(p) \ do{ \ delete p; \ p = NULL; \ } while 0
mais à cette dernière ligne j'ai une erreur à la compilation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 vector<DataExpRodage2000 *> dataexp; for(size_t i = 0 ; i < dataexp.size() ; i++) { /* ici je crée mon dataexp[i] */ } for(size_t i = 0 ; i < dataexp.size() ; i++) DELETE(dataexp[i]);
D'où provient mon erreur ?error C2059: syntax error : 'constant'
Merci d'avance
Partager