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 :

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
avec le code suivant

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]);
mais à cette dernière ligne j'ai une erreur à la compilation :

error C2059: syntax error : 'constant'
D'où provient mon erreur ?

Merci d'avance