0
我不知道爲什麼我的代碼不工作中枚舉,剛開始學習C++,所有的命名空間/頭文件等。無法解析的外部 - 靜態類
我有一個主要功能:
#include "stdafx.h"
#include "Game.h"
int _tmain(int argc, _TCHAR* argv[])
{
Game::Start();
return 0;
}
其中調用遊戲內的靜態函數來啓動。
#include "stdafx.h"
#include "Game.h"
void Game::Start(void)
{
_gameState = ShowingMenu;
while(IsExiting())
{
switch(_gameState)
{
case ShowingMenu:
ShowMenu();
break;
}
}
}
現在無論我用枚舉遊戲狀態(因爲你會從標題看)我得到:
Unresolved external symbol private static enum Game::GameState Game::GameState
這是Game.h
#pragma once
class Game {
public:
static void Start();
private:
static void GameLoop();
static bool IsExiting();
static void ShowMenu();
enum GameState { Uninitialized, ShowingMenu, Dealing, DealerTurn, PlayerTurn, Betting, Exiting };
static GameState _gameState;
};
不知道爲什麼這不工作,唯一的解決辦法是拿出整個枚舉。
嗯..通常定義在哪裏?功能之前或之後? – user2011736 2013-02-25 19:38:18
@ user2011736它往往是以前,但我不認爲有任何理由必須是。 – 2013-02-25 19:39:19