Pointer auf Struct



  • vereinfachtes Beispiel:

    struct mensch{
    CString name;
    ...
    };
    
    struct haus{
    mensch bewohner;
    int alter;
    ...
    };
    
    haus haus1,haus2;
    
    void Dlg::einziehen(CString wer,haus wohin)
    {
    wohin.bewohner.name=wer;
    
    if (haus2.bewohner.name=="Hans")MessageBox("Hans ist Eingezogen"); //das funktionier nicht, haus2 ist immernoch leer
    }
    
    void Dlg::buttonclick()
    {
    einziehen("Hans",haus2);
    }
    

    dann hab ich folgendes probiert:

    void Dlg::einziehen(CString wer,haus *wohin)
    {
    ...
    }
    
    void Dlg::buttonclick()
    {
    einziehen("Hans",&haus2); //Compiler meckert gewaltig rum
    }
    

    Was mach ich falsch, wie kann ich das struct haus2 so übergeben, dass diese dann auch eingelesen wird. 😞



  • void Dlg::einziehen(CString wer,haus *wohin)



  • Genau das hab ich ja im 2.Bsp. probiert, aber dann meckert der Compiler an dieser Stelle rum, dass dem das wohin hier nicht passt.

    void Dlg::einziehen(CString wer,haus *wohin)
    {
    wohin.bewohner.name=wer; //hier meckert er rum
    }
    


  • wohin->bewohner.name=wer



  • Thx CMatt, da wäre ich im leben nie draufgekommen, C++ ist eben doch n'bissl kryptisch :p


Anmelden zum Antworten