delete [] mavariable impossible ?!...... le retour!
Bonjour,
Je suis en train de me casser les dents sur un probleme qui je pense doit être tout bête...
En gros je crée une chaine (char*),
Je la remplie
et je souhaite liberer la memoire, et ca me sort une erreur:
Debug Error!
Program: ......monprogramme.exe
DAMAGE: after Normal block (#3167) at 0x00AB71C0
Voila le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
char* tempTimeSt;
if ( TimeSt != NULL )
{
unsigned long length = WideCharToMultiByte(CP_ACP,0,TimeSt,SysStringLen(TimeSt),NULL,0,NULL,NULL);
tempTimeSt = new char[length];
length = WideCharToMultiByte (CP_ACP,0,TimeSt,SysStringLen(TimeSt),tempTimeSt,length,NULL,NULL);
tempTimeSt[length] = '\0';
}
delete [] tempTimeSt; |
L'erreur se déclenche lors de l'éxecution du delete[]
Est ce que quelqu'un saurait pourquoi??
delete [] mavariable impossible .... le retour!
Re-bonjour à tous,
J'ai a nouveau un probleme de base sur le delete de pointeurs...
et je réutilise ce post pour ne pas faire double emploi.
voila le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
char** MonTableau = NULL;
MonTableau= new char*[20];
for (i=0; i<9; i++)
{
MonTableau[i] = new char[255];
[...traitement...]
}
for (i=0; i<9; i++)
delete [] MonTableau[i]; |
Le 1er élement est bien supprimé mais lorsqu'on arrive au 2e, je n'ai aucune erreur par contre:
1/ lorsque je regarde au debuggeur: MonTableau[1]= "n'importe quoi..."
2/ le programme sort de la fonction...
Quelqu'un saurait-il pourquoi?