我聲明在頭文件中的靜態無序圖如下:我的靜態地圖總是空
static boost::unordered_map<KeyAction, sf::Key::Code> WindowKeyMap;
在同一頭文件
,我有填充了一些值映射函數:
static void Initialize(std::string &file)
{
WindowKeyMap[MoveLeft] = sf::Key::Code::Left;
WindowKeyMap[MoveRight] = sf::Key::Code::Right;
WindowKeyMap[MoveUp] = sf::Key::Code::Up;
WindowKeyMap[MoveDown] = sf::Key::Code::Down;
std::cout << std::endl << WindowKeyMap.size() << std::endl;
}
在我的計劃後來
,一個單獨的類/函數裏面,我嘗試讀取值之一:
std::cout << std::endl << WindowKeyMap.size() << std::endl;
auto test2 = WindowKeyMap[MoveRight];
但第m ap總是空的。控制檯的輸出始終是初始化例程的4,然後是第二個cout的0。我認爲靜態地圖在整個程序中是持久的,所以我對於我的靜態地圖是如何變爲空的有點困惑。任何人都可以點亮一下嗎?
感謝
我的是半滿的! ;) – 2011-03-26 09:26:25
你真的調用'Initialize' ... – 2011-03-26 09:28:53