jaimelespates > Moi aussi j´aime les pates...
Mais si on sait pas, pas la peine de poster !
Bon, je vien de recuperer ton code, et de tester avec des char* : sa marche bien
- include < iostream>
struct maStructure
{
char* blabla1;
char* blabla2;
maStructure();
~maStructure();
void initBlabla1(char* string);
} *tabStructure;
maStructure::maStructure()
{
blabla1 = NULL;
blabla2 = NULL;
}
maStructure::~maStructure()
{
if(blabla1)
delete [] blabla1;
if(blabla2)
delete [] blabla2;
}
void maStructure::initBlabla1(char* string)
{
if(blabla1)
delete [] blabla1;
blabla1 = new char [strlen(string)+1];
strcpy(blabla1,string);
}
int main()
{
tabStructure = NULL;
// Plein d´autres opérations ici
tabStructure = new maStructure[12];
tabStructure[2].initBlabla1("Hello world");
// blablabla
delete [] tabStructure;
}
To plantage devait avoir lieu quand tu deletait tes char* : si tu ne les a pas créé, ils pointent n´importe ou dans la memoire et forcement si tu lui fait deleter la ou t´a pas le droit, il plante. C´est pourquoi je te conseil fortement d´initaliser tes pointeurs à NULL quand ils pointent vers rien.
Sinon, questions personels :
Pourquoi utiliser struc plutot que class? juste pour les membres public par defaut?
Bizard la fasson dont tu declare tabStructure, au dirait que ta struct n´est faite que pour etre manipulé par une seul instance.
Pourquoi si superman est super inteligent, il met son slip par dessus son pantalon ?
Voila, vé dormir maintenant 