Das Ergebnis von einer Fkt. zuweisen???



  • Hallo Leute,
    ich kriege einen fehler, den ich nicht beseitigen kann.
    Das Problem ist wie folgt:

    Klasse1
    {
    ...
      Public:
      float fct1();
    ...
    };
    ...
    float data[10]= {0};
    
    float* fct1 ()
    {
     return data;
    }
    
    //in der Klasse2.cpp
    
    void fct2()
    {
      float Array[10]={0};
      Array = Klasse.fct1();   //Hier ist der fehler!
    
    }
    

    Vielen Dank im Voraus
    Ana



  • Du hast vergessen anzugeben, wo in deinem Array der Rückgabewert landen soll:

    Array[0] = Klasse.fctl();
    

    (ansonsten können blanke Arrays nicht direkt kopiert werden. Nimm lieber einen vector<> oder vergleichbares - andernfalls könntest du noch memcpy() verwenden)



  • Problematisch ist imo auch, dass fctl nicht als Memberfunktion deklariert wurde bzw. in Klasse1 nur float zurückgibt, die Funktion aber ein float * zurückgibt.
    public schreibt man im Übrigen klein!

    Der Code ist total wirr 😕



  • Es gilt halt der Spruch: Wie der Herr, so sei(n) Gscherr.
    😉


Anmelden zum Antworten