Makro Definitionen Global verwendbar?
-
Hallo,
ich hab mehrer Klassen die unabhängig von einander sind...
in einer Klasse habe ich Makros erstellt, und ich wundere Mich das ich diese Maktros auch in den anderen Klassen (Modulen) verwenden kann!!
Entweder ich hab was übersehen... oder Makros sind allgeimein verwendbar egal wo ich sie definiere??
-
was genau ist dein problem?
wenn du diese in anderen dateien verwendest, hast du doch sicherlich diedatei mit der klasse inkludiert oder?
Also nP!
-
BorisDieKlinge schrieb:
in einer Klasse habe ich Makros erstellt,
Du kannst Makros nicht "in einer Klasse" erstellen, weil Makros nicht durch Scopes und Namensräume eingegrenzt werden können. Sie gelten ab der Stelle, an der sie definiert sind, für den Rest der Datei (oder bis du sie mit #undef wieder entfernst). Makros in Headerdateien gelten in natürlich in jeder Datei, die diese Headerdatei durch eine Includedirektive einbindet.
und ich wundere Mich das ich diese Maktros auch in den anderen Klassen (Modulen) verwenden kann!
Entweder ich hab was übersehen... oder Makros sind allgeimein verwendbar egal wo ich sie definiere??
Ich hatte dich gewarnt:

http://www.c-plusplus.net/forum/viewtopic-var-t-is-160653-and-highlight-is-.html
-
alles klar .. das wollte ich wissen... ne ist nich schlimm... die makros waren nur debug weise drin... und werden später ersetzt druch funktionen;)
ich kann makros scho in klassen definieren, nur macht es nich viel sind:)
-
BorisDieKlinge schrieb:
ich kann makros scho in klassen definieren, nur macht es nich viel sind:)
Du kannst Makros technisch gesehen überall definieren, nur sind die eine Angelegenheit des Präprozessors (und der nimmt keinerlei Rücksicht auf deine Programmstruktur).