1
我有幾個編譯錯誤可能盯着我,但我似乎無法解決它們。我已經去檢查括號,分號和#includes的解決方案,但沒有快樂。這是Visual Studio 2008中的C++。VS 2008爲C++編譯錯誤
錯誤是;
錯誤1錯誤C2653: '遊戲':不是類或命名空間名稱logs.h 34
錯誤2錯誤C3861: 'SETSTATE':標識符不logs.h發現有34
這裏發現在logs.h
Game::SetState(2);
完整報頭;
# pragma once
#include "DarkGDK.h"
#include "Screen.h"
class LogS:public Screen
{
public:
LogS():Screen()
{
//to be added
}
void SetBgrnd();
void Skip();
};
void LogS::SetBgrnd()
{
s_sprite_id = 1;
dbShowSprite(11);
Show();
}
void LogS::Skip()
{
if(dbReturnKey())
{
dbHideAllSprites();
Game::SetState(2);
}
}
而Game.h應該使用靜態函數;
# pragma once
#include "DarkGDK.h"
#include "LogS.h"
class Game
{
static int gameState;
public:
Game();
static void SetState(int gameState);
};
Game::Game()
{
LoadImages();
SetState(1);
}
inline void Game::SetState(gameState& g)
{
gameState = g;
}
編輯出不相關的位。如果你不能說,我是新來的:P 任何幫助表示讚賞,謝謝。
class Game
{
static int gameState;
public:
Game();
static void SetState(int gameState);
};
int Game::gameState = 0;
並且如@Drew曼指出::
從Game.h.刪除#include "LogS.h"
+1 ...我需要在某個地方,我仍然看到更多的錯誤。隨意直接添加我的答案給你。 :) – 2013-04-24 20:37:56
「應該」?... – 2013-04-24 20:38:50
@CaptainObvlious抱歉,英文不是我的母語,更新。 – taocp 2013-04-24 20:39:44