[Problem] Felderzeugung durch mehrdimensionales Array.



  • **Schönen guten Morgen,
    **
    Folgende Situation:

    Ich habe mir mit einem 2-dimensionales Array ein Feld (10x10) erzeugt und bei der Ausgabe die äussersten Stellen mit "X" füllen lassen als Abgrenzung. Nun wollte ich das Feld vergrößern jedoch bekam ich dann den Fehler (ich programmiere in Visual Studio):

    Unbehandelte Ausnahme bei 0x7389ac4e in bsp.exe: 0xC0000005:
    Zugriffsverletzung bei Schreiben an Position 0xabababab.

    for(short s=0;s<15;++s)
    	{
    		for(short k=0;k<15;++k)
    		{
    			field[s][k]=" ";
    		}
    	}
    	for(short s=0;s<15;++s)
    	{
    		field[0][s]="X";
    		field[14][s]="X";
    		field[s][0]="X";
    		field[s][14]="X";
    	}
    

    Er unterbricht dann an der Stelle:

    for(short s=0;s<15;++s)
    

    Ich hoffe auf baldige Antworten udn bedanke mich schonmal im vor raus.

    sincerely yours
    Snow.

    Edit: Eine geschweifte Klammer zuviel im Quelltext.*



  • Das geht so nicht wie du dir das vorstellst. Du kannst doch nicht einfach über deine vorher definierten Arraygrenzen hinwegschreiben und dich dann wundern wenn es crasht.
    Lies mal das hier
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-39489.html
    Für dich wäre es wohl besser sich mal mit std::vector zu beschäftigen (siehe Magazin).



  • Braunstein schrieb:

    Das geht so nicht wie du dir das vorstellst. Du kannst doch nicht einfach über deine vorher definierten Arraygrenzen hinwegschreiben und dich dann wundern wenn es crasht.
    Lies mal das hier
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-39489.html
    Für dich wäre es wohl besser sich mal mit std::vector zu beschäftigen (siehe Magazin).

    Dachte ich kann in der Syntax das wieder ändern cO
    Okay ich schau es mir an, danke.

    Edit:

    Oh Mist, ich habe den Fehler gefunden. *sich selbst schlag*
    Man sollte vorher auch in der .h datei das definierte Array ändern. Das stand noch auf 10 statt 15 😞
    Sorry, was my fault.

    sincerely yours,
    Snow.


Log in to reply