C ++: circular conceptual incluye problema

Estoy haciendo un sistema de entidad basado en componentes para un motor de juego.

Tengo una clase de entidad, que debe incluir el encabezado de la clase base del componente para definir la matriz de componentesprivate Component* components[ 123 ]

Sin embargo, en la clase base del componente tengo que definir unprivate Entity* ownerEntity¡Porque es crucial que un componente sepa a quién pertenece!

Esto hace que Entity.h necesite Component.h y viceversa -> Referencia circular

¿Como puedo resolver esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta