我希望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();
};
答案 0 :(得分:0)
#include Bullet.h
标题文件中的 Player
标题。
如果您没有使用该类中的任何内容,请从#include "Player.h"
标题中删除Bullet
。
答案 1 :(得分:0)
看起来Bullet类不包含Entity.h