SFML- 缺少 ';'在标识符之前

SFML- Missing ';' before identifier

我希望 Player 创建 class Bullet 的对象。 结果:

syntax error : missing ';' before identifier 'bullet'

据我所知,关于这个问题的是 Bullet class 那时编译器还不知道, 我如何让它为人所知?

玩家class

class Player :public Entity{

private:

    float velocity;

    Sprite titleSprite;
    Texture titleTexture;


    Sprite playerSprite;
    Texture playerTexture;

    Bullet bullet; // <-----------

public:

    virtual void draw(RenderTarget& target, RenderStates states)const;
    virtual void update(float dt);


    void movePlayer(float offset);

    Sprite getPlayerSprite()const;
    Sprite getTitleSprite()const;

    Bullet getBullet();

    Player();
    virtual ~Player();

};

子弹class

#include "Player.h"


class Bullet : public Entity{
private:

    Sprite bulletSprite;
    Texture bulletTextucre;

public:

    void shootBullet(float offset);


    Sprite getBulletSprite()const;
    Sprite getBulletTexture();

    void setBulletSprite(Sprite bulletSprite);


    virtual void draw(RenderTarget& target, RenderStates states)const;
    virtual void update(float dt);


    Bullet();
    virtual ~Bullet();

};

#include Bullet.h header 在 Player header 文件中。

并从 Bullet header 中删除 #include "Player.h" 如果您不使用 class 中的任何内容。

看起来 Bullet class 不包含 Entity.h