Classe C ++, sua classe base e inclusão circular incluem [duplicado]

Esta pergunta já tem uma resposta aqui:

Resolva erros de compilação devido à dependência circular entre classes, es 9 respostas

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

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

Mas eu recebo um erro de compilação no arquivo # 1 na linhaclass Foo : public baseclass:

Error: expected class-name before »{« token

Se eu adicionarclass baseclass; declaração de classe bevor, recebo este erro:

Error: invalid use of incomplete type »struct baseclass«

ntão, minha pergunta é: como posso resolver dependências circulares com classes básica

Pergunte se você não obtiver algum ponto. Eu já tentei mudar a ordem de incluir os cabeçalhos, mas sem sorte até agora. Obrigado por qualquer dica.

EDIT: Nota: Estou usando os protetores de inclusão EDIT2: não se limita aos ponteiros, por isso os removo, apenas por precaução. EDIT3: Adicionada classe base (esqueci O.o) EDIT4: Agora deve ficar claro e sem mais falhas, o problema persiste com esse código.

questionAnswers(5)

yourAnswerToTheQuestion