単純な基本クラスとそれを継承する別のクラスを作成しようとしています。次のエラーが表示されます。
guard_room.h:17:1: error: expected class-name before ‘{’ token
私は他の投稿を見てきましたが、どこかに循環依存関係があるようですが、それを解決するために読んだすべてのことを行いました。ここに私のクラスがあります
基本クラス room.h:
#ifndef _room
#define _room
template <typename U, typename T>
class room
{
public:
//default constructor
room();
//overloaded constructor
room(U, T);
//getters/setters
void set_treasure(T);
void set_name(U);
T get_treasure() const;
U get_name() const;
private:
U name;
//room monster
//monster room_monster
T treasure;
};
#include "room.tem"
#endif
継承されたクラスguard_room.h:
#ifndef _guard_room
#define _guard_room
template <typename U, typename T> class room;
template <typename U, typename T>
class guard_room : public room
{
public:
//default constructor
guard_room();
//overloaded constructor
guard_room(U, T, T) : room(U, T);
//battle function?
void battle();
private:
T dummy;
};
#include "guard_room.tem"
#endif
また、継承されたクラスの基本ルーム クラスのインクルードを配置する必要がある場所についても完全に混乱しています。ご協力いただきありがとうございます。