C ++: problema de inclusão circular conceitual

Estou criando um sistema de entidade baseado em componentes para um mecanismo de jogo.

Eu tenho uma classe de entidade, que deve incluir o cabeçalho da classe base do componente para definir a matriz de componentesprivate Component* components[ 123 ]

No entanto, na classe base do componente, tenho que definir umprivate Entity* ownerEntity, porque é crucial que um componente saiba a quem ele pertence!

Isso faz com que Entity.h precise de Component.he vice-versa -> Referência circular

Como posso resolver isso?

questionAnswers(1)

yourAnswerToTheQuestion