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.


Anmelden zum Antworten