Bonsoir tout le monde!
J'ai une erreur sur un delete dont je n'arrive pas à trouver la solution.
Le code appelle la fonction StartThread() qui va démarrer un thread comme vous pouvez le voir:
Code C/C++ :
void StartThread(char* a ,char* b)
{
char* path=new char[MAX_PATH];
char* action=new char[MAX_PATH];
strcpy(path,cheminDuFichier);
strcpy(action,action2);
LPVOID params[]={action,path};
CloseHandle(CreateThread(0,0,TheThread,params,0,&idthread));
}
DWORD WINAPI TheThread(LPVOID Parametres)
{
char path[MAX_PATH]="";
char action[MAX_PATH]="";
strcpy(action,((char**)Parametres)[0]);
strcpy(path,((char**)Parametres)[1]);
delete[] ((char**)Parametres)[0];
delete[] ((char**)Parametres)[1];
}
Le problème a lieu lors du second delete[]
En mode debug le compilo (vc++) me dit que le problème est sur la ligne:
_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)); de la fonction void operator delete().
Merci beaucoup si vous trouvez le problème!
Alban