Hallo zusammen,
ich habe zwei Klassen, die gegenseitig Klassenvariablen der jeweils anderen Sorte haben. Also steht in KlasseA.h drin
#include "KlasseB".h
und umgekehrt.
Jetzt habe ich schon verstanden, daß man diese „Endlosschleife“ abfängt, in dem man folgendes macht:
#ifndef KlasseA\_H
#define KlasseA\_H
#include KlasseB.h
(...Inhalt der Headerdatei...)
#endif
Genauso dann natürlich bei KlasseB.h. Nur klappt das nicht. Ich benutze MS Visual Studio 6.0 und folgende Fehlermeldungen erscheinen, sobald ich das wie oben beschrieben versuche:
KlasseA.cpp
f:\(...)\klasseb.h(15) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'kA'
f:\(...)\klasseb.h(15) : error C2501: 'KlasseA' : Fehlende Speicherklasse oder Typbezeichner
f:\(...)\klasseb.h(15) : error C2501: 'kA' : Fehlende Speicherklasse oder Typbezeichner
KlasseB.cpp
f:\(...)\klassea.h(13) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'kB'
f:\(...)/klassea.h(13) : error C2501: 'KlasseB' : Fehlende Speicherklasse oder Typbezeichner
f:\(...)\klassea.h(13) : error C2501: 'kB' : Fehlende Speicherklasse oder Typbezeichner
Wobei ‚kA‘ und ‚kB‘ jeweils die Klassenvariablen sind, die folgendermaßen definiert sind (Beispiel KlasseA):
public:
KlasseB kB;
Kann mir da jemand helfen…?! Ich denke, es ist nicht nötig, den gesamten Source-Code hier zu posten, oder?
Jedenfalls schonmal vielen Dank im Vorraus!
Hendrik.