dynamische Arrays in Funktionen ändern



  • Hallo!
    Ich habe ein zweidimensionales Array, dessen Größe und Inhalt in einer Unterfunktion bestimmt wird. Wie gebe ich dieses Array mit Inhalt und Größe wieder an meine main-Funktion zurück. Bei eindimensionales funktioniert es schon:

    int main(void)
    {
    int *i;
    berechne_Array(i);
    // Ausgabe des Arrays
    return 0;
    }
    void berechne_Array(int * & i)
    {
      i=new int[5];
      // Anlegen des Arrays;
    }
    

    Aber in 2D klappt das gleiche nicht:

    int main(void)
    {
    int **i;
    i=new int*[5];
    berechne_Array(i);
    // Ausgabe des Arrays
    return 0;
    }
    void berechne_Array(int ** & i)
    {
      i[0]=new int[5]; //...
      // Anlegen des Arrays
    }
    

    Wieso klappt das mit mehrdimensionalen Arrays nicht, und wo finde ich wie das klappt?

    Vielen Dank!

    Filius



  • Warum übergibst du das mit der Referenz? - Sind ja nur Zeiger..

    Was geht dann nicht? - Compiler Error? Oder macht es nicht das, was du denkst?


Anmelden zum Antworten