Je sais que cette question a déjà été posée mais je n'ai pas réussi à réparer mon programme.
void swap1(char*str1,char*str2)
{
char *ezer =new char[strlen(str1)];
for (int i = 0 ; i <= strlen(str1);i++)
ezer[i]=str1[i];
delete [] str1;
str1= new char[strlen(str2)];
for (int i = 0 ; i <= strlen(str2);i++)
str1[i]=str2[i];
delete [] str2;
str2= new char[strlen(ezer)];
for (int i = 0 ; i <= strlen(ezer);i++)
str2[i]=ezer[i];
delete[] ezer;
}
une fois, la première fois, ça marche, mais la deuxième fois (avec une autre valeur), j'ai une erreur. l'erreur vient de la dernière ligne delete[] ezer;
pourquoi je ne peux pas supprimer ezer
?
l'erreur :
heap corruption detected after normal block (#174) at 0x007D7A48
CRT detected that the application wrote to memory end of heap buffer