Verständnisfrage zu globalen Variablen
-
Hi, ich habe ein kleines Problem mit einer globalen Variable.
Ich habe eine Headerdatei, die mehrer Klassen enthält, deren Implementierungen dann in separaten Dateien sind. Nun wollte ich eine globale Variable in den Header einfügen und bekomme Linkerfehler. (bereits in xxx.obj definiert)
Wie kann ich diese Meldung nun umgehen, aber die Variable in allen Klassen verfügbar machen?
-
Hm, ich hoffe das wird nich falsch:
global.h:
extern int myVari;
global.cpp
int myVari;
*gleich gibts haue für mich
*
-
Danke funktioniert.
-
Wow,
Stundenlang gesucht, gelesen, ausprobiert, ....
aber nur Linkerfehler. Hier der richtige Tip, wie man das
bei Projekten mit etlichen Klassen, Header- und CPP-Dateien
mit diversen 'includes' zu machen hat.
Drei Bücher gewälzt, Kollegen befragt, hier 'ne Weile rumgesucht,
alles nix gebracht.
Und jetzt: gelesen, gehackt, tut.Vorschlag: wie wäre es, wenn dieser Beitrag in die FAQ's
übernommen wird? Da ich an diesem Problem vor etwa einem 3/4 Jahr
schon mal 'gekaut' habe und ich Kollegen kenne, die sich mit dem
gleichen Mist rumgeschlagen haben, finde ich, er ist es wert.Ciao
-
zur ODR gibt es hier
http://www.c-plusplus.net/forum/viewtopic.php?t=61231
und dort
http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&faq=ODR#Answ
gute erklärungen.
-
arni schrieb:
Vorschlag: wie wäre es, wenn dieser Beitrag in die FAQ's
übernommen wird? Da ich an diesem Problem vor etwa einem 3/4 Jahr
schon mal 'gekaut' habe und ich Kollegen kenne, die sich mit dem
gleichen Mist rumgeschlagen haben, finde ich, er ist es wert.Manchmal ist auch die Forensuche nicht zu verachten
!