title image


Smiley Globalen Variablen über Dateigrenzen hinweg
Hallo Leute,



Der Gültigkeitsbereich von globalen Variablen ist auf die Datei begrenzt, in der die Variable deklariert wird. Kennt jemand einen geschickten Weg, globale Variablen in eine separate Headerdatei (keine Klasse) auszulagern, um anschließend von allen anderen Klassen darauf zugreifen zu können?



Ich möchte hierbei explizit nicht auf statische Variablen in einer Klasse zurückgreifen.



Beispiel:



Globals.h

#pragma once

int g_iTestVar;





Test.h

#pragma once

class CTest

{

public:

CTest(void);

~CTest(void);

inline void ChangeGlobalVal(int x) {g_iTestVar = x;}

};





Main.cpp

int _tmain(int argc, _TCHAR* argv[])

{

CTest t;

t.ChangeGlobalVal(5);

printf("Wert der Variable: %i\n", g_iTestVar);

return 0;

}





Meines Wissens muss man an geeigneter Position "extern" einsetzen.

Dabei erhalte ich aber stets die Meldungen "Nichtaufgelöstes externes Symbol" bzw. "int g_iTestVar bereits in Globals.obj definiert".

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: