Globale Variable in Funktion überladen



  • Ich hoffe der Threadtitel stimmt^^

    Also folgendes:
    Wenn ich innerhalb einer Klasse einer Funktion den selben Variablennamen gebe, wie er in der Klasse bereits vorhanden ist, kann ich ja mit Hilfe des this-Zeigers problemlos auf beide zugreifen.
    Meine Frage ist nun, wie funktioniert das ausserhalb einer Klasse?

    Hier noch ein Beispiel:

    int a = 5;
    int b = 10;
    
    void func1(int a, int b)
    {
    	std::cout << a << " " << b << std::endl; //hier würde ich gerne die globalen Variablen auslesen
    }
    

    Laut Fehlermeldung funktioniert der this-zeiger nur in Verbindung mit Klassen, Strukturen oder Unions.

    error C2355: 'this': Nur innerhalb nicht statischer Memberfunktionen verfügbar
    error C2227: Links von "->a" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden.



  • Globale Variablen kannst du mit ihrem vollen Namen ansprechen - der wäre ::a. (aber wenn du keine guten Gründe hast, solltest du auf globale Variablen verzichten)



  • Ah vielen Dank. War auch nur eine Frage aus reinem Interesse. Wissen schadet ja nicht. 😃


Anmelden zum Antworten