C ++ - Klasse, ihre Basisklasse und ihr Zirkel-Include enthalten [duplicate]

Diese Frage hat hier bereits eine Antwort:

Resolve Build-Fehler aufgrund der zirkulären Abhängigkeit zwischen den Klassen, es 9 answers

DATEI # 1 (foo.h):

#ifndef FOO_H_
#define FOO_H_
#include "baseclass.h"
#include "bar.h"
class Bar;
class Foo : public baseclass {
public:
bar *varBar;
};
#endif

DATEI # 2 (bar.h):

#ifndef BAR_H_
#define BAR_H_
#include "foo.h"
class Foo;
class Bar {
public:
Foo *varFoo;
};
#endif

DATEI # 3 (baseclass.h):

#ifndef BASECLASS_H_
#define BASECLASS_H_
#include "foo.h"
class Foo;
class baseclass {
public:
list<Foo*> L;
};
#endif

Aber ich erhalte einen Kompilierungsfehler in Datei 1 in Zeileclass Foo : public baseclass:

Error: expected class-name before »{« token

Wenn ich @ hinzufüclass baseclass; vor der Klassendeklaration erhalte ich folgende Fehlermeldung:

Error: invalid use of incomplete type »struct baseclass«

So ist meine Frage, wie ich zirkuläre Abhängigkeiten mit Baseclasses auflösen kann?

Frage, ob du keinen Punkt bekommst. Ich habe bereits versucht, die Reihenfolge der Einfügung der Überschriften zu ändern, aber bisher kein Glück. Danke für jeden Hinweis.

EDIT: Hinweis: Ich verwende Include-Guards. EDIT2: Es ist nicht auf Zeiger beschränkt, daher entferne ich sie für alle Fälle. EDIT3: Baseclass hinzugefügt (O.o vergessen) EDIT4: Nun sollte klar sein und ohne weitere Mängel bleibt das Problem bei diesem Code bestehen.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage