Wie behebt man 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.
Ich habe zwei Klassen: `Player` (Spieler) und `Enemy` (Gegner). Der Spieler soll den Gegner angreifen können, und der Gegner soll den Spieler kennen, um ihn zu verfolgen. Ich versuche, dass jede Klasse einen Zeiger auf die andere Klasse enthält.
Hier ist der vereinfachte Code:
**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) {
// Verfolgungslogik
}
```
Wenn ich versuche zu kompilieren, gibt der Compiler Fehler aus wie
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen