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
我希望 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