double** als Funktionsübergabeparameter



  • Ich möchte direktb, prodkoef und auslast als Funktionsparameter übergeben. Diese Version (als CallbyReference) funktioniert jedoch nicht. Später möchte ich dann innerhalb anderer Funktionen auf direktb[x][y] zugreifen können. Deshalb sollte die Übergabe als CallbyReference durchgeführt werden. Falls CallbyReference nicht möglich ist, bin ich um jeden Vorschlag die Übergabe anderst zu realisieren dankbar.
    Wie kann ich das Problem lösen ?

    void Erzeugen(double & , int & , int & );
    double** direktb = NULL;
    double** prodkoef = NULL;
    double** auslast = NULL;
    ////////////////////////////////////
    int main(int argc, char* argv[])
    {
    Erzeugen(direktb, Zeilen, Spalten);
    Erzeugen(prodkoef, Zeilen, Spalten);
    Erzeugen(auslast, Zeilen, Spalten);
    }
    ///////////////////////////////////
    void Erzeugen(double &Array, int &AnzahlZeilen, int &AnzahlSpalten)
    {
       int z=0,s=0;
       Array = new double* [AnzahlZeilen];
       for (z=0; z<AnzahlZeilen; z++) Array[z] = new double [AnzahlSpalten];
    }
    

    EditBySideWinder: Code-Tags eingefügt - in Zukunft bitte selbst erledigen.

    [ Dieser Beitrag wurde am 21.06.2003 um 14:42 Uhr von SideWinder editiert. ]



  • Du willst einen double** übergeben, die Funktion nimmt aber nur double.

    Richtig wäre void Erzeugen(double**& , ...);


Anmelden zum Antworten