class Game
{
public:
//! Returns the only instance of the game object
static shared_ptr<Game> GetGameInstance();
//! Function with continous loop for game play
void GamePlay();
//! The hidden constructor
~Game();
private:
//! The hidden constructor
Game();
static shared_ptr<Game> _game;
};
//.cpp file
#include "Game.h"
shared_ptr<Game> Game::_game;
shared_ptr<Game> Game::GetGameInstance()
{
if(_game == NULL)
{
_game.reset(new Game);
}
return _game;
}
void Game::GamePlay()
{
shared_ptr<Graphics> myGameGraphics;
while(!myGameGraphics->UserForcedExit())
{
myGameGraphics->drawMaze();
}
}
Game::~Game()
{
}
У меня есть код выше, но компиляция выдает ошибку компоновщика:
Game.obj: ошибка LNK2019: неразрешенный внешний символ «private: __thiscall Game :: Game (void)» (?? 0Game @@ AAE @ XZ), на который ссылается функция «public: статический класс boost :: shared_ptr __cdecl Game: : GetGameInstance (void) "(? GetGameInstance @ Game @@ SA? AV? $ Shared_ptr @ VGame @@@ boost @@ XZ)
Может кто-нибудь помочь, пожалуйста ...