Witam wszystkich użytkowników forum.
W ramach ćwiczeń piszę sobie małą gierkę w c++ z wykorzystaniem SFML 2.1.
Napotkany problem wygląda tak:
Mam 2 klasy:
-
Character (postać która jest bohaterem gry)
-
Bullet (pocisk, którego używa postać)
Obiekt klasy Bullet jest atrybutem klasy Character.
//Character.h
#pragma once
#include <SFML/Graphics.hpp>
#include <SFML/Audio.hpp>
#include <Bullet.h>
enum STATE {GO_LEFT, GO_UP, GO_RIGHT, GO_DOWN, STOP};
class Character
{
public:
Character(sf::RenderWindow & window, int localize = 0);
...
private:
Bullet * bullet1;
...
//Bullet.h
#pragma once
#include <SFML/Graphics.hpp>
#include "Character.h"
class Bullet
{
public:
Bullet(Character * p);
void draw(sf::RenderWindow & window);
sf::Vector2f get_position();
bool moving;
...
private:
Character * owner;
...
Próba kompilacji:
include/Bullet.h:8:26: error: expected ‘)’ before ‘*’ token
Bullet(Character * p);
^
include/Bullet.h:16:9: error: ‘Character’ does not name a type
Character * owner;
^
Dlaczego klasa Bullet nie widzi klasy Character pomimo załączenia pliku nagłówkowego?