cs_fuliculi
Messages postés43Date d'inscriptionlundi 19 avril 2004StatutMembreDernière intervention 3 mai 2010
-
24 mars 2006 à 14:44
cs_fuliculi
Messages postés43Date d'inscriptionlundi 19 avril 2004StatutMembreDernière intervention 3 mai 2010
-
27 mars 2006 à 12:09
Bonjour à tous,
j'utilise purify depuis 2 ans et il m'aide beaucoup (en particulier pour les plantages à première vue sans raison). Il y a une erreur qu'il m'affiche depuis ce temps que je n'arrive pas à supprimer : la terrible erreur du delete [ ] dans un vecteur!
Exemple :
// Création du vecteur
vector<char* nom> nomVecteur;
// Ajout d'un nom créé dynamiquement
char *nom1 = new char[256];
strcpy(nom1, "polo");
nomVecteur.push_back( nom1 );
// Ajout d'un nom créé dynamiquement
char *nom2 = new char[256];
// Suppression des noms du vecteur
for (int i=0; i<nomVecteur.size(); i++)
delete [] nomVecteur[i]; // <<<<<<<< ERREUR PURIFY
// Vidage du vecteur
nomVecteur.clear();
Purify ne semble pas aimer les delete [ ] sur les éléments d'un vecteur. J'ai essayé avec plusieurs syntaxe mais pas de solution. Si je ne mets pas le delete, la mémoire n'est pas libéré alors que j'utilise des objects de plusieurs Mo (ça fait désordre) et les erreurs sont remplacée par des warning et la mémoire n'est pas libérée.
Mes programmes nécessitent une grosse utilisation des delete alors je me retrouve avec des dizaines d'erreur sous Putify et ça devient illisible.
Quelqu'un voit-il déjà de quoi je parle? Si oui, a-t-il une idée ce cher monsieur (ou chère mademoiselle ou madame).
cs_fuliculi
Messages postés43Date d'inscriptionlundi 19 avril 2004StatutMembreDernière intervention 3 mai 20106 27 mars 2006 à 12:09
En effet, ça me supprime les warning ou erreurs du delete. Il me reste un warning mais ça semble apparaitre à cause du #include <vector> (rien de méchant)