Я хочу создать экземпляр класса моей игры в другом классе, но я получаю ошибку uses undefined class
, хотя я включаю game.h
.использует undefined класс, несмотря на использование include
Game.h
#ifndef GAME_H
#define GAME_H
#include "Move.h"
class Game
{
private:
//--------------------------------------------------------------------------
// Private copy constructor
//
Game(const Game& original);
public:
//--------------------------------------------------------------------------
// Public assignment operator
//
Game& operator=(const Game& original);
//Constructors
Game();
//Destructor
~Game();
};
#endif // _GAME_H
Заголовок, где я хочу, чтобы создать объект игры:
Move.h
#ifndef MOVE_H
#define MOVE_H
#include "Game.h"
class Move : public Command
{
private:
Move (const Move& original);
Move& operator=(const Move& original);
Game m_game_; //Error
};
#endif // _MOVE_H
Визуальный Studios бросает:
move.h(40): error C2079: 'Move::m_game_' uses undefined class 'Game'
Он работает, если я использую Game* game;
но это не то, что мне нужно/нужно.
Почему компилятор дает мне ошибку неопределенного класса?
Большое спасибо за помощь.
Почему 'game.h' включает' move.h'? – NathanOliver
Вам не хватает ';' после вашего 'class {}'. – Holt
@NathanOliver Поскольку мне нужно создать объект Move в моей Game.cpp 'm_command_map_ [MOVE] = новый Move (MOVE);' – TheDoctor