begin process at 2012 05 30 11:12:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Rational Purify et le delete [ ] dans un vector


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Rational Purify et le delete [ ] dans un vector

vendredi 24 mars 2006 à 14:44:28 | Rational Purify et le delete [ ] dans un vector

fuliculi

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];
strcpy(nom2, "anne");
nomVecteur.push_back( nom2 );

// 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).
vendredi 24 mars 2006 à 15:57:53 | Re : Rational Purify et le delete [ ] dans un vector

Kangourou_Nomade

Réponse acceptée !
autant faire du c++ quand on en a l'occas :
(eviter les malloc sur des fonctions c++ faites pour ne plus avoir a utiliser des pointeurs)

// Création du vecteur
vector<string> nomVecteur;

// Ajout d'un nom créé dynamiquement
nomVecteur.push_back("polo");

// Ajout d'un nom créé dynamiquement
nomVecteur.push_back("anne");

// Suppression des noms du vecteur
for (int index = 0; i < nomVecteur.size(); ++index)
    nomVecteur[i] = "";

// Vidage du vecteur
nomVecteur.clear();
lundi 27 mars 2006 à 12:09:04 | Re : Rational Purify et le delete [ ] dans un vector

fuliculi

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)


merci Kangourou_Nomade


Cette discussion est classée dans : nom1, erreur, delete, purify, nomvecteur


Répondre à ce message

Sujets en rapport avec ce message

Erreur sur delete[] et pb alocation mémoire [ par dan34 ] Salut,J'ai un soucis avec le bout de code suivant. En fait j'ai créé un objet qui contient un tableau de char dont j'alloue dynamiquement la taille en Héritage multiple et destructeur ==> Erreur de segmentation ?? [ par Rouliann ] Bonjour à tous.Voilà, j'ai une classe abstraite A :class A{    private:        string m_name;    public:        A() {m_name = "default_name";}        delete copy de pointeur [ par Galmiza ] Salut,J'ai une erreur lors de la libération de mémoire vive:Un exemple vaut bien mieux q'un long discours:BYTE* pByte = new BYTE[n];BYTE* pByteCopy = c++ et delete [ par anne-lise ] Bonjour !voila, j'ai un probleme lorsque je veux faire des delete sur des tableauz.J'ai une fonction du type :float* function(param, int n){   float* compilation de libtiff [ par MNEMONIC ] Bonjour à tous.J'ai récupéré la version 3.7.2 de libtiff.Sous Xp, aucun problème de compilation.Je passe sous Aix5.2, et là, je me retrouve avec des m Message d'erreur [ par imanedaoudi ] Salut, que veux dire le mesage d'erreur : 77F41BAA inc dword ptr [eax+10h] a ma connaissance c'est un debordement de la mémoire (corriger mo Une erreur de segmentation que je ne comprends pas... [ par semifer ] Voilà, je débute en C, j'ai quelques connaissances dans d'autres langages (surtout php et scripts bash). Je tourne sous plateforme Linux Debian 3.1 e bound checker & warning au delete [ par magic_Nono ] bj j'aurai souhaiter savoir si qqn utilise Bound Checker (avec Visual C++) et saurai expliquer les Bad Pointer: 0x3B5BF20 passed to global_operator_ acces violation [ par mamag ] Bonjour,j'ai crée une DLL sous VC++ à l'aide de la librairie ADO, pour la tester j'ai créé un programme en c++ qui l'utilise, mais en mode debug, j'ai debutant [ par CCJ ] bonjour! alors voila g un tit bleme j'aimerais apellé une fonction avec : pass(); cette fonction est declarer comme ceci: void pass() {        } le c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,234 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales