Avatar ·

Cómo corregir errores de compilación por dependencia cíclica de clases en C++?

¡Hola a todos! Estoy escribiendo un juego simple en C++ y me encontré con un problema que no puedo resolver desde hace varias horas. Tengo dos clases: `Player` (jugador) y `Enemy` (enemigo). El jugador debe poder atacar al enemigo, y el enemigo debe conocer al jugador para perseguirlo. Estoy intentando hacer que cada clase contenga un puntero a la otra clase. Aquí está el código simplificado: **Player.h:** ```cpp #ifndef PLAYER_H #define PLAYER_H #include "Enemy.h" class Player { public: void attack(Enemy* e); int health; }; #endif ``` **Enemy.h:** ```cpp #ifndef ENEMY_H #define ENEMY_H #include "Player.h" class Enemy { public: void chase(Player* p); int health; }; #endif ``` **Player.cpp:** ```cpp #include "Player.h" void Player::attack(Enemy* e) { e->health -= 10; } ``` **Enemy.cpp:** ```cpp #include "Enemy.h" void Enemy::chase(Player* p) { // lógica de persecución } ``` Cuando intento compilar, el compilador muestra errores como `"Player" has not been declared` o `unknown type`.