這是第一次發佈,我是C++編程的初學者,主要是因爲我想知道它,因爲它總是很有趣,因爲它是如何工作的等等。
我試圖做一個簡單的遊戲,採用SFML 2.0,我的問題是:
我有一個枚舉,例如:
將枚舉傳遞給另一個文件? C++
enum GameState
{
Menu,
Battle,
Map,
SubMenu,
Typing
};
所以,我想做出那樣的變量,使用
然後,將它傳遞給另一個文件,如
extern GameState State;
,但我得到的錯誤
error: 'GameState' does not name a type
如何枚舉傳遞到另一個文件?我試圖通過將其作爲main.cpp中的全局變量並將其包含在另一個文件的頭文件中來實現。
請註明每個代碼塊在哪個文件中。 – 2012-08-15 13:03:21
無論'extern'聲明是什麼,都必須能夠看到枚舉的聲明(因此它知道'GameState'的類型名稱)。通常情況下,這個聲明應該放在一個頭文件('.h'或'.hpp'文件)中,你可以'#include' – Useless 2012-08-15 13:04:37
當你說'extern GameState State'傳遞給另一個文件時,源文件中的'extern GameState State'文件還是目標文件? – czchlong 2012-08-15 13:04:58