Avatar ·

Wie behebe ich Kompilierungsfehler aufgrund zyklischer Klassenabhängigkeiten in C++?

Hallo zusammen! Ich schreibe ein einfaches Spiel in C++ und bin auf ein Problem gestoßen, das ich seit Stunden nicht lösen kann.\n\nIch habe zwei Klassen: `Player` und `Enemy`. Der Spieler soll den Feind angreifen können, und der Feind soll den Spieler kennen, um ihn zu verfolgen. Ich versuche, jede Klasse einen Zeiger auf die andere Klasse enthalten zu lassen.\n\nHier ist der vereinfachte Code:\n\n**Player.h:**\n```cpp\n#ifndef PLAYER_H\n#define PLAYER_H\n#include "Enemy.h"\n\nclass Player {\npublic:\n void attack(Enemy* e);\n int health;\n};\n#endif\n```\n\n**Enemy.h:**\n```cpp\n#ifndef ENEMY_H\n#define ENEMY_H\n#include "Player.h"\n\nclass Enemy {\npublic:\n void chase(Player* p);\n int health;\n};\n#endif\n```\n\n**Player.cpp:**\n```cpp\n#include "Player.h"\nvoid Player::attack(Enemy* e) {\n e->hea