In Speicher "0x00000000" schreiben - fehler im Code
-
Hallo allerseits,
ich kann mir leider nicht erklären, warum mein Programm beim Ausführen von delete eine Fehlermeldung produziert. Kann mir jemand weiterhelfen?
MfG
kemfar
void main() { if(fehlerfrei) { //Errichten der Bildmatrix Bild=new UINT8*[m]; //m neue Zeiger for(i=0;i<m;i=i+1) { Bild[i]=new UINT8[n]; // pro Zeiger n neue UINT8 } } for(i=0;0<m;i++) // Speicher freigeben // bei dieser Schleife { delete [] Bild[i]; } delete [] Bild; }Fehlermeldung: Die Anweisung in "0x778cca14" verweist auf Speicher in "0x00000000". Der Vorgang "written" konnte nicht auf dem Speicher durchgeführt werden.
Debugger: Unbehandelte Ausnahme in Console.exe (NTDLL.DLL): 0xC0000005: Access Violation.
-
Endbedingung "0 < m"? Ich würde sagen die zweite Schleife terminiert einfach nicht.
-
Vielen Dank!
Manchmal hat man echt Scheuklappen auf. Insbesondere beim eigenen Code und Montag morgens.