Pb avec delete c++

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 29 janv. 2004 à 19:20
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 30 janv. 2004 à 17:36
je cree un tableau d'objets dyn
Objet** objets;
objets = new Objet*[l];
for(int i=0;i<l;i++) objets[i]=new Objet;

comment on le detruit?
car je fait ca

for(int i=0;i<l;i++) delete objets[i];
delete[] objets;

et ca plante

2 réponses

cs_alain34270 Messages postés 85 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 18 septembre 2005
30 janv. 2004 à 17:29
salut,

j'ai testé ce code (sous vc++ 6) :

struct Objet
{
int a;
int b;
};

int l=5;

Objet** objets;
objets = new Objet*[l];

for(int i=0;i<l;i++)
{
objets[i]=new Objet;
objets[i]->a = i;
objets[i]->b = i*2;
}

for (i=0;i<l;i++)
{
printf("objet %d a=%d b=%d\n",i,objets[i]->a,objets[i]->b);
}

for(i=0;i<l;i++)
delete objets[i];

delete[] objets;

chez moi, il ne plante pas. Si ça peut t'aider...

alain
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
30 janv. 2004 à 17:36
merci d'avoir essayer, en effet c'est bien comme ca qu'il faut detruire, et dans mon prog ca marche mais aleatoirement et je pensais que ca venais de la car le plantage a lieu lors de la destruction, mais aparement c'est pas ca
j'ai l'impresion d'avoir fait une veritable usine a gaz :(
0
Rejoignez-nous