return m. 2 variablen ??? / Erledigt.. Danke !!!



  • Hab ein problem....
    ist es möglich aus einer funktion 2 variablen an eine andere zu übergeben(beim beenden der funktion)...

    zb:

    int test()
    {
        int a,b;
        a=1;
        b=2;
        return a //<--- und zusätzlich b...
    }
    int main()
    {
        int a;
        int b;
    
        a=test();
        b=test();
    }
    


  • struct rval {int i1; int i2; };
    rval test();
    
    int main(int argc, char* argv[])
    {
     cout << test().i1 << " " << test().i2;
     return 0;
    }
    
    rval test()
    {
     rval x;
    
     x.i1=1;
     x.i2=2;
    
     return x;
    }
    

    Das wäre eine Möglichkeit.

    Eine andere wäre ein Call By Reference:

    void test(int&a, int&b);
    
    int main(int argc, char* argv[])
    {
     int a,b;
     test(a,b);
    
     cout << a << " " << b;
     return 0;
    }
    
    void test(int&a, int&b)
    {
     a=1;
     b=2;
     return;
    }
    

    [Edit]
    Die zweite Lösung ist ja eigentlich keine return-Lösung aber wird auch häufig genutzt.



  • Herzlichen Dank !!! das war genau das was ich gesucht hab !!!


Anmelden zum Antworten