-1
class RandomFleet : public PlaceFleet
{

これは、Placefleet から継承する必要がある私の RandomFleet です。(これは RandomFleet.h にあります)

私のエラー: 未定義の型 'class Battleships::PlaceFleet' の無効な使用

「PlaceFleet.h」を含めました クラス Battleships::RandomFleet : public BattleShips::PlaceFleet を試しました

正しく継承されない理由がわかりません。

編集:また、PlaceFleet と RandomFleet の両方が「戦艦」ネームスペースの一部ではありません。

コードで編集:

#ifndef PLACEFLEET_H_
#define PLACEFLEET_H_
#include"Place.h"
#include"Board.h"
class Battleships::PlaceFleet
{ //Functions and variables };
#endif

//上が PlaceFleet.h、下が RandomFleet.h

#ifndef RANDOMFLEET_H_
#define RANDOMFLEET_H_
#include"PlaceFleet.h"
class RandomFleet : public PlaceFleet
{//This is where compiler shows error
//Functions and variables
};
#endif
4

2 に答える 2

2

これは、従うべきテンプレートです。

// PlaceFleet.h
#ifndef PLACEFLEET_H_
#define PLACEFLEET_H_

class PlaceFleet {

};

#endif

// RandomFleet.h
#ifndef RANDOMFLEET_H_
#define RANDOMFLEET_H_

#include "PlaceFleet.h"

class RandomFleet : public PlaceFleet {

};

#endif
于 2012-04-17T03:38:45.500 に答える
0

使っていなかったから

namespace Battleships
 {
   //classes here
 }

(私はクラスBattleships :: PlaceFleetをやろうとしました)

于 2012-04-18T03:59:39.527 に答える