multiple definition of...
-
Hi
ich will ein Objekt in jeder meiner c-Dateien eines Objektes benutzen können. Also meine Frage: Kann ich variablen irgendwie global in einer header-Datei verwenden?? Wenn ich eine Variable in einer header-Datei definiere, und diese in zwei c-Dateien include, komt etwas mit "multiple definition of".
Kann mir jemand helfen??Mfg,
balta
-
Dafür ist das Schlüsselwort extern da:
// Header.hpp extern Klasse GlobalesObjekt; // Irgendeine(aber nur eine!).cpp Klasse GlobalesObjekt;
Globale Objekte sind aber nicht so schön, tu dir den Gefallen und pack es wenigstens in einen Namespace.
-
-
Danke für die schnelle Antwort.
Und wenn ich sie in allen c-Dateien verwenden möchte?? Es handelt sich um globale Einstellungen.
-
Dann bindest Du header.hpp in alle C-Dateien ein
-
frage nur weil oben stand:
(aber nur eine!)
muss ich in den anderen nicht definieren, sondern direkt verwenden?? Dann ist das ja einfacher als ich dachte...
Danke für die Hilfe!
Mfg,
balta
-
Deklariert wird sie in der .hpp, das reicht um sie zu verwenden. Damit sie dann auch wirklich (einmal, und nicht multiple) da ist muss in _einer_ .cpp auch eine Definition vorhanden sein
EDIT:
FAQ - Unterschied: Deklaration, Definition, Initialisierung