C++ SFML-缺少'';前标识符
我想让玩家创建一个Bullet类的对象。 结果: 语法错误:缺少“;”在标识符“bullet”之前 从我所能发现的问题来看,Bullet类对于编译器来说是未知的, 我该怎么说 玩家等级C++ SFML-缺少'';前标识符,c++,sfml,C++,Sfml,我想让玩家创建一个Bullet类的对象。 结果: 语法错误:缺少“;”在标识符“bullet”之前 从我所能发现的问题来看,Bullet类对于编译器来说是未知的, 我该怎么说 玩家等级 class Player :public Entity{ private: float velocity; Sprite titleSprite; Texture titleTexture; Sprite playerSprite; Texture playerT
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();
};
#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();
};
#在播放器的头文件中包含Bullet.h
头文件。
如果您没有使用该类中的任何内容,请从Bullet
标题中删除#include“Player.h”
。看起来Bullet类不包含Entity.h应该是另一种方式:在Player中包含Bullet,而不是在Bullet中包含Player。@mrew:那么您还有其他的东西被破坏了。一些你在这里没有展示的东西。当然,它应该是#包含“Bullet.h”
,而不是#包含Bullet.h