コードが機能しない理由がわかりません.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;
}
}
}
これで、enum GameState を使用する場所はどこでも (ヘッダーからわかるように)、次のようになります。
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;
};
これが機能しない理由がわからない場合、唯一の解決策は、列挙型全体を取り出すことでした。