Bonjour,
je suis débutant en c++.
Quelqu'un pourrait il me dire pourquoi le programme suivant plante à la dernière instruction (delete [] tableau;) svp ?
le message de Borland C++ est le suivant:
"Project project5.exe raise exception class EAccessViolation with message 'Access violation at address 01196C0D in module BORLNDMM.DLL'. Write of address 0000006F'. Process stopped "
J'ai aussi essayé avec malloc et free mais c'est la même chose.
Merci d'avance.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Longint **tableau;
tableau=new Longint* [300000];
for(i = 0; i < 300001; i++) {
tableau[i]= new Longint [128];
}
Variant Nombre;
char Libelle;
int k;
int temp;
Variant Nbr_Fois;
Nbr_Fois=Edit1->Text;
TDateTime DateTime = Time();
Nombre=(300000*128)*Nbr_Fois;
ProgressBar1-> Max=Nbr_Fois;
for (k=1;k<Nbr_Fois+1;k++) {
Button1->Caption="Remplissage 1" ;
for (i=0;i<300000;i++) {
for(j=0;j<128;j++) {
tableau[i][j]=111;
}
}
ProgressBar1->Position = k;
}
TDateTime DateTime1 = Time();
TDateTime DateTime3 = DateTime1-DateTime ;
AnsiString str = TimeToStr(DateTime3);
Caption = str;
Label1->Caption = "Nombre de Case calculées : ";
Label1->Caption = Label1->Caption + Nombre ;
Label2->Caption = "Valeur Ligne 300000, Colonne 128 : ";
Label2->Caption = Label2->Caption + tableau [299999][127];
for(i = 0; i < 300001; i++) {
delete [] tableau[i];
}
delete [] tableau;
}