Globale Variable in Funktion definieren



  • Hallo,

    ich habe das Problem, dass ich eine Variable bzw. eine Klasse in einer Funktion deklarieren / definieren muss, diese aber nach Zurückkehren der Funktion noch brauche -> der Gültigkeitsbereich dieser Klasse muss über den Gültigkeitsbereich der Funktion heraus...aber wie mache ich das??

    Grüße
    Alex



  • Hallo

    Rückgabe? Parameter by Reference?

    bis bald
    akari



  • Hallo,

    danke für die schnelle Antwort!

    Doch leider war ich soweit auch schon. Mein Problem ist, dass ich eine vordefinierte Funktion benutze, welche als void deklariert ist (also fällt Rückgabewert schon mal weg) und die keine Parameter zulässt!

    Dazu kommt noch, dass ich zwei cpp-Dateien habe, und in beiden brauche ich ja die Klasse. In cpp-Datei Nr. 1 wird die Klasse definiert, und in cpp-Datei Nr. 2 ist die void - Funktion ohne Parameter...

    Ich dachte schon daran, einfach eine Funktion in cpp-Datei Nr. 2 zu erstellen, welche einen Parameter zulässt und welche beim Aufruf ein Duplikat der Klasse erstellt, welches die void - Funktion dann beim Aufruf benutzen kann.
    Jedoch finde ich diese Möglichkeit etwas sehr umständlich und außerdem weiß ich nicht, wie ich dieses Duplikat dann erstellen sollte, sodass es auch von der void-Funktion benutzt werden kann, denn in Funktionen erstellte Variablen / Zeiger verlieren ja ihre Gültigkeit außerhalb der Funktion.

    Ich hoffe jemand kann mir weiterhelfen!
    Grüße
    Alex



  • Hallo

    Wenn du die fragliche Funktion eh nicht verändern willst/kannst, erübrigt sich die Sache. Irgendwas must du an der Funktion verändern, selbst wenn du globale Variablen benutzt. Und dann kannst du gleich den Prototyp anpassen.

    bis bald
    akari



  • Globale Variable werden nicht in einer Funktion deklariert, sondern in der Anwendung. Wenn zwischen mehreren Funktionsaufrufen die lokalen Variablen der Funktion ihren Wert behalten sollen, sind diese mit static zu deklarieren.


Log in to reply