mehrfach include verhindern
-
heo
ich habe 3 header files und jedes Headerfile soll mit jedem verlinkt werden....
mit
#ifndef FILE1_H #define FILE1_H ... #endif
wollte ich das verhindern aber das hat zur Folge dass der compiler keine Infos aus den Headerfiles kennt.,....
wie kann ich das umgehen?
mfg
-
Das kommt ganz darauf an, was der Compiler aus den einzelnen Header-Files jeweils kennen muß - in vielen Fällen reichen Forward-Deklarationen völlig aus:
//member.h #ifndef MEMBER_H #define MEMBER_H class master; class member { master* m_chief;//hier reicht die Forward Deklaration ... }; #endif //master.h #ifndef MASTER_H #define MASTER_H #include "member.h" class master { member m_elements[100];//benötigt die komplette Definition ... };
-
d3f3nd3r schrieb:
heo
ich habe 3 header files und jedes Headerfile soll mit jedem verlinkt werden....
mit
#ifndef FILE1_H #define FILE1_H ... #endif
wollte ich das verhindern aber das hat zur Folge dass der compiler keine Infos aus den Headerfiles kennt.,....
wie kann ich das umgehen?
Du hast hoffentlich für jede Datei ein anderes define verwendet.
BTW: Der MS Compiler unterstüzt #pragma once, was die ganze Sache vereinfacht.