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

时间:2015-07-14 12:56:26

标签: c++ sfml

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

  

语法错误:缺少';'在标识符'bullet'之前

从我能找到的关于这个问题的内容来看,那时编译器不知道Bullet类,  我怎么知道它?

玩家类

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();

};

Bullet 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();

};

2 个答案:

答案 0 :(得分:0)

#include Bullet.h标题文件中的

Player标题。

如果您没有使用该类中的任何内容,请从#include "Player.h"标题中删除Bullet

答案 1 :(得分:0)

看起来Bullet类不包含Entity.h