私はGameSettingsクラスを持っています。
GameSettings.hpp
class GameSettings
{
public:
GameSettings();
GameSettings loadSettings();
void saveSettings(GameSettings const & GS);
sf::VideoMode getVideoMode() const {return VMode;}
bool isFullscreen() const {return fullscreen;}
private:
sf::VideoMode VMode;
bool fullscreen;
};
1 つのGameSettingsがGameクラスに含まれています(Game クラスはMonostate です)。
ゲーム.hpp
class Game
{
public:
Game() {};
static void init();
static void run();
static void clean();
private:
static sf::Window window;
static GameSettings currentGS;
};
init 関数の実装は次のとおりです (まだ Game クラスで実装されている関数のみ):
ゲーム.cpp
void Game::init()
{
currentGS.loadSettings();
sf::Uint32 style = currentGS.isFullscreen() ? sf::Style::Fullscreen : sf::Style::None | sf::Style::Close;
window.create(currentGS.getVideoMode(), "Name", style);
}
そして、私はこれらのエラーが発生しています:
Game.hpp :
(2 回)エラー C2146 : 構文エラー: ';' がありません 識別子 'currentGS' の前 - 15 行目
(2 回)エラー C4430 : 型指定子がありません - int と見なされます。注: C++ は default-int をサポートしていません -行 15
15行目:static GameSettings currentGS;
ゲーム.cpp
エラー C2065 : 'currentGS': 宣言されていない識別子 -行7、8、9
エラー C2228 : '.loadSettings' の左側には class/struct/union が必要です -行7、8、9
これらは init 関数の行のみです ^