friend class 'Syntaxfehler'
-
Visual Studio 2008 exp.
c++folgende Bsp-Klassen habe ich angelegt:
//EigLib.h #include "ListView.h" class ListView; class Pruef { public: friend class ListView; Pruef(void); ~Pruef(void); };
//EigLib.cpp #include "EigLib.h" Pruef::Pruef(void) { } Pruef::~Pruef(void) { }
sowie
//ListView.h #include "EigLib.h" class ListView { public: // Hier wollte ich eine variable der classe Pruef anlegen Pruef pr; //hier Syntaxfehler ListView(void); ~ListView(void); };
//ListView.cpp #include "ListView.h" ListView::ListView(void) { } ListView::~ListView(void) { }
Die nachfolgenden Fehlermeldungen werden angezeigt:
c:\dokumente und einstellungen\novell\eigene dateien\visual studio 2008\projects\friendclass\friendclass\listview.h(7) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'pr' c:\dokumente und einstellungen\novell\eigene dateien\visual studio 2008\projects\friendclass\friendclass\listview.h(7) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. c:\dokumente und einstellungen\novell\eigene dateien\visual studio 2008\projects\friendclass\friendclass\listview.h(7) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
Wo liegt mein Fehler??
Vielen Dank
-
Zirkulaäre Abhängigkeit ListView.h <> EigLib.h (wenn deine Kommentare in den Codes korrekt sind).
In EigLib.h kannst du dir den include schenken, und schon brauchen sich die beiden Header nicht mehr gegenseitig.
-
Vielen Dank brabbel
-
Randfrage: Wozu benötigt eine Klasse, die sowieso alle Member public definiert, überhaupt Freunde?