Zugriff auf ein mit new erstelltes mehrdimensionales array



  • Hallo

    Ich hätte eine Frage zu folgendem Code:

    double calcLorenz( double start, double end, double step) {
      // allocate array for coordinates
      double (*y)[3] = new double[int((end-start)/step)][3];
      y[start][0] = 0.001;
      [...]
    }
    

    Ich erstelle also [(end-start)/step] mal ein Array mit 3 Elementen. Laut meinem C++ Buch sollte ich nun mit

    y[start][0] = 0.001;
    

    auf die Elemente zugreiffen können, allerdings bekomme ich den Fehler

    71 D:\Privat\c++\OpenGL\Lorenz\Attraktor1\runge_kutta.h invalid types `double (*)[3][double]' for array subscript

    was meiner Meinung nach auf einen Typenfehler hinweist (=> invalid types 🙄 ). Ich kann den Fehler aber nicht finden, da der Pointer y ja direkt auf die allozierten Elemente zugreiffen lassen sollte!?

    Für einen Hinweis wäre ich sehr dankbar.

    MfG GierAffe



  • Zu mehrdimensionalen Arrays gibt es einen FAQ-Beitrag.



  • Naja, lag nicht am array... Ist ein blöder Fehler...
    y[int(start)][0] = 0.001; ist besser.
    Dachte ich habe beim erstellen des Arrays einen Fehler gemacht...


Anmelden zum Antworten