プログラミングを独学する方法として Asteroids ゲームに取り組んでいますが、クラスの 1 つが型に名前を付けていないというエラーが発生しています。
Entity クラスを継承する SpaceShip クラスがあり (両方とも定義されています)、Entity を継承する Bullet クラスがあります。誰が弾丸を撃ったかを知る方法として、SpaceShip メンバーを Bullet クラスに入れようとしていますが、「'SpaceShip' はタイプに名前を付けていません」というメッセージが表示され続けます。
ここにいくつかのコードがあります:
宇宙船.h
class SpaceShip : public Entity
{
private:
int lives;
int score;
int animationRow;
int shotsFired;
public:
SpaceShip();
void Init(SDL_Surface *image = NULL);
void Destroy();
void Update();
void Render( SDL_Surface *screen );
...
};
bullet.h
#ifndef BULLET_H
#define BULLET_H
#include <SDL/SDL_gfxPrimitives.h>
#include "entity.h"
#include "spaceship.h"
#include "Globals.h"
class Bullet : public Entity
{
private:
SpaceShip* owner;
public:
Bullet( SpaceShip* ship );
void Update();
void Render( SDL_Surface *screen );
void Destroy();
void Collided(int objectID);
};
#endif // BULLET_H
SpaceShip タイプが見つからないのはなぜですか?