Speicherreservierung für 2 dim. Array



  • hallo,
    wer kann mir erklären wieso das Programm beim Konstruktor abstürzt. der Compiler meckert nicht, es stürzt bei Laufzeit ab.

    die *.h Datei sieht so aus:

    private:
        int **feld;
        int MAX;
    

    ...und so der Konstruktor in der *.cpp Datei:

    spielfeld::spielfeld( int max)
    {
        MAX = max;
        *feld = new int[MAX];  //   <-- hier stürzt es ab
    
        for( int z=0; z<MAX; z++)
            feld[z] = new int[MAX];
    };
    

    Vielen Dank für eure Hilfe



  • Original erstellt von guzi:
    **hallo,
    wer kann mir erklären wieso das Programm beim Konstruktor abstürzt. der Compiler meckert nicht, es stürzt bei Laufzeit ab.

    die *.h Datei sieht so aus:

    private:
        int **feld;
        int MAX;
    

    ...und so der Konstruktor in der *.cpp Datei:

    spielfeld::spielfeld( int max)
    {
        MAX = max;
        *feld = new int[MAX];  //   <-- hier stürzt es ab
    
        for( int z=0; z<MAX; z++)
            feld[z] = new int[MAX];
    };
    

    Vielen Dank für eure Hilfe**

    int **feld; zeigt noch auf unreservierten speicher... feld = new int *[MAX]; sollte abhilfe schaffen


Anmelden zum Antworten