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;
錯誤的靜態變量現在是在運行第一定義在C++枚舉類型
void processEvents(){// error: first defined here ???
Event event;
while(App.pollEvent(event)){
if(event.type == Event::Closed)
App.close();
}
}
功能,也有其他的錯誤,如遊戲:: _遊戲狀態的'多重定義」在功能上它給在其他功能上同樣的錯誤,在遊戲類中聲明
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();
}
我固定的錯誤,但一個更出現了
while (!IsExiting()) { //undefined reference to Game::IsExiting
GameLoop();
}
_mainWindow.close();
}
我不知道它是靜態布爾功能等功能工作正常,但是這一次是布爾和由於enum GameState
包含內class Game
給我的錯誤
嘗試'遊戲:: Gamestate'在你的宣言 –
@lstmeyxc,轉貼您獲得作爲一個單獨的問題的錯誤,或更新錯誤所在,現在看到你的問題 – Specksynder
@Itsmeyxc:。我們清楚地不會跟蹤您的編輯和後續問題。這不是一個聊天,沒錯。 – 2012-06-08 15:03:16