Schwierichkeit mit adresse, was kann ich tun?.



  • Hallo ich volgendes machen

    STRTable_li_li &GetMyTable(void)
    {
    	static STRTAble_li_li MyTable;
    	return MyTable;
    }
    

    Das was ich machen will ist das ich eine static variable in einer funktion habe und die aber auserhalb verendern will. Ich will mit keinen preis eine globale varriable haben!. Aber es funkt nicht. Was kann ich nun machen



  • Master User schrieb:

    Hallo ich volgendes machen

    STRTable_li_li &GetMyTable(void)
    {
    	static STRTAble_li_li MyTable;
    	return MyTable;
    }
    

    Das was ich machen will ist das ich eine static variable in einer funktion habe und die aber auserhalb verendern will. Ich will mit keinen preis eine globale varriable haben!. Aber es funkt nicht. Was kann ich nun machen

    c++ nehmen statt c. dann klaptt's auch mit den referenzen.



  • also, auf anhieb ist mir jetzt aufgefallen, dass du statt

    STRTable_li_li &GetMyTable(void)
    
    STRTable_li_li [b]*[/b]GetMyTable(void)
    

    verwenden solltest...



  • Und in der funktion selbst bleit alles wie es ist?.



  • Master User schrieb:

    Und in der funktion selbst bleit alles wie es ist?.

    mit der grasamen und gemeinen zeigerversion return &MyTable;



  • Ok danke.



  • Master User schrieb:

    Hallo ich volgendes machen

    STRTable_li_li &GetMyTable(void)
    {
    	static STRTAble_li_li MyTable;
    	return MyTable;
    }
    

    Das was ich machen will ist das ich eine static variable in einer funktion habe und die aber auserhalb verendern will. Ich will mit keinen preis eine globale varriable haben!. Aber es funkt nicht. Was kann ich nun machen

    wie volkard sagte, C++ nehmen. C kennt keine Referenzen. Der & Operator gibt nur die Adresse eines Objektes Zurück, erstellt aber keine Referenz, weil es keine in C gibt.


Anmelden zum Antworten