Clase C ++, su clase base y su inclusión circular incluyen [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Resolve errores de compilación debido a la dependencia circular entre clases, es 9 respuestas

FILE # 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

ARCHIVO # 2 (bar.h):

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

FILE # 3 (baseclass.h):

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

Pero obtengo un error de compilación en el archivo # 1 en la líneaclass Foo : public baseclass:

Error: expected class-name before »{« token

Si agregoclass baseclass; declaración de clase bevor, me sale este error:

Error: invalid use of incomplete type »struct baseclass«

Así que mi pregunta es, ¿cómo puedo resolver dependencias circulares con clases base?

Pregunte si no obtiene algún punto. Ya intenté cambiar el orden de inclusión de los encabezados, pero hasta ahora no tuve suerte. Gracias por cualquier pista.

EDIT: Nota: estoy usando incluir guardias EDIT2: no está limitado a punteros, por lo que los elimino, por si acaso. EDIT3: Clase base agregada (olvidé O.o) EDIT4: Ahora debería estar claro y sin más defectos, el problema persiste con este código.

Respuestas a la pregunta(5)

Su respuesta a la pregunta