Problem mit globaler Variable
-
Hallo,
ich habe im Headerfile eine "static" Funktion definiert.
.. diese statische Funktion soll jetzt im *.cpp File auf eine im Headerfile
definierte private Variable vom Typ double zugreifen können.Problem ist jetzt folgendes:
Fehler: ungültige Verwendung des Elementes »Variable« in statischer ElementfunktionWie kann ich denn eine private globale im h-File deklarieren die ich dann in dieser statischen Funktion ändern können möchte.
Mfg
-
Ich nehme an, du meinst eine statische Memberfunktion einer Klasse.
Diese kann natürlich nicht auf nicht-statische Membervariablen zugreifen, da sie nicht weiss, welches Objekt du ansprichst.
Mach also entweder die Membervariable statisch oder die Funktion nicht-statisch.
-
Xtremecpp schrieb:
Wie kann ich denn eine private globale im h-File deklarieren die ich dann in dieser statischen Funktion ändern können möchte.
Private Variablen gibts nur in Klassen. Variablen in Klassen sind nicht global. Private globale Variablen gibts also nicht. Zeig uns am Besten ein wenig Code um zu verdeutlichen was du meinst.
Mein Tip geht in die Richtung, dass du mit "global" eine nicht-statische Membervariable deiner Klasse meinst. In dem Fall lautet die Antwort: du kannst nicht-statische Member in einer statischen Funktion nicht ändern. Zumindest nicht, ohne der Funktion das Objekt zu übergeben, dessen Member geändert werden soll. Das würde aber den Sinn einer statischen Funktion auf den Kopf stellen.
Zeig uns Code und erkläre uns was du erreichen willst, dann kann dir geholfen werden ein sinnvolles Design und eine Lösung für dein problem zu finden

-
.. danke hat sich erledigt.
Mfg und ein Gutes Neues