class Game
{
public:
static void Start();
private:
static bool IsExiting();
static void GameLoop();
static void ShowSplashScreen();
static void ShowMenu();
enum GameState { Uninitialized, ShowingSplash, Paused,
ShowingMenu, Playing, Exiting };
Game::GameState Game::_gameState = Game::Uninitialized;
static sf::RenderWindow _mainWindow;
};
Game::GameState Game::_gameState;
RenderWindow Game::_mainWindow;
エラーは最初に実行される関数にあります
void processEvents(){// error: first defined here ???
Event event;
while(App.pollEvent(event)){
if(event.type == Event::Closed)
App.close();
}
}
また、関数内で「Game::_gameState」が複数定義されているなど、他のエラーもあり、Game クラスで宣言されている他の関数でも同じエラーが発生します。
void Game::Start(void) { // multiple definition of `Game::_gameState'
if (_gameState != Uninitialized)
return;
_mainWindow.create(VideoMode(1200, 900, 32), "Game",
Style::Close);
_gameState = Game::ShowingSplash;
while (!IsExiting()) {
GameLoop();
}
_mainWindow.close();
}
エラーを修正しましたが、もう1つ表示されました
while (!IsExiting()) { //undefined reference to Game::IsExiting
GameLoop();
}
_mainWindow.close();
}
私はそれが静的ブール関数であるとは知りません他の関数は正常に動作しますが、これはブール関数であり、エラーが発生します