這一定是我做一些愚蠢的事,但有沒有人看到這種行爲之前:STL ::地圖問題
我有一類成員的地圖定義,像這樣:
std::map <const std::string, int> m_fCurveMap;
所有行爲都正常在調試中,但在發佈模式下都會出錯。地圖被初始化爲一些瘋狂的數字:m_fCurveMap [14757395258967641292]()
的任何成員,我已經後的地圖被完全破壞,也就是說,如果我把一個int就行了地圖像這樣經過:
std::map <const std::string, int> m_fCurveMap;
int m_myIntThing;
,並在我的構造函數將m_myIntThing設置爲0,在構造函數被調用後m_myIntThing是一些瘋狂的數字。如果我將m_myIntThing移動到地圖上方的行,那麼m_myIntThing的所有內容都可以。這最終會給我帶來更大的問題。我需要在構造函數中對地圖做些什麼嗎?我現在不在。
我使用Visual Studio,這工作得很好用gcc。我只看到發佈中的問題。該項目是一個DLL。
如果你已經看到了這種瘋狂的前請幫助其駕駛我瘋了。 :-)
非常感謝, 馬克
其他東西可能會損壞它。這是所有人都可以告訴你的。現在,您必須正確調查您的程序以查看原因,或向我們顯示代碼。 – GManNickG 2011-04-19 23:13:32
你不應該參考'stl :: map'。首字母縮略詞STL不是標準的一部分。 – 2011-04-19 23:14:59
地圖如何初始化爲一個數字? – 2011-04-19 23:15:42