Petit Pb avec char* et Delete[] en C++

Fermé
OpenGLord - 19 nov. 2007 à 14:41
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 6 nov. 2008 à 10:24
Bonjour,

Je souhaiterais savoir pourquoi j'ai une erreur en fin d'execution dans le destructeur (à la première ligne). Merci infiniment !

///////////////////////////////////// .h //////////////////////////////////////

class UneClasse
{
private:

char* name1;
char* name2;

public:

UneClasse( char* , char* );
~UneClasse( void );
}


///////////////////////////////////// .cpp //////////////////////////////////////

UneClasse::UneClasse( char* myName1 , char* myName2 )
{
name1 = myName1;
name2 = myName2;
}

UneClasse::~UneClasse()
{
delete [] name1;
delete [] name2;
}

///////////////////////////////////// main.cpp /////////////////////////////////

int main()
{
char _name1[] = "Texte1";
char _name2[] = "Texte2";

UneClasse c1( _name1 , _name2 );

return 0;
}

5 réponses

Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
6 nov. 2008 à 10:24
ce qui est fait est très laid !
Tu utilises un delete sur une variable que la classe n'a pas alloué elle même.
Et la en l'occurrence sur un tableau !
Il ne faut pas tenté de libérer de la mémoire qui n'a pas été alloué avec new, sinon ça fait une erreur.
1
Bonjour OpenGLord, je sais pas d'où vient l'erreur ton code a l'air bon pourtant :-S
0
Ben ça sert à rien de poster alors Jacky
0
le tien non plus a pas lair plu utile que le precedeent :-D alors autant ne pas le faire
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bon j'ai réussi à trouver la solution TOUT SEUL c'est pas avec vos chamailleries et remarques pertinentes que j'aurai trouvé une issue à mon problème. En tout cas c'était un peu marrat je vous remercie au moins pour ça :-D
0
Slt.
j'ai actuellement le meme pb et ça fait 2 jours que je crêve dessus.
pourrais tu poster la solution stp?
Merci d'avance
PS: je dois rendre mon dossier demain.
0