我有一個MFC應用程序。它具有包含某些數據對象的CMap的,地圖被聲明爲CMap<DWORDLONG, DWORDLONG,_ItemsObj*,_ItemsObj*>
其中_ItemsObj是包含各種數據的結構。CMap的查找失敗
我現在面臨的問題是,當我嘗試搜索條目在x64構建Lookup方法意外失敗(且僅在64位版本)。
下面是我使用
BOOL IsItemExist(DWORDLONG dwid)
{_ItemsObj* pObj=NULL;
if(!m_Itemsmap.Lookup(dwid,pObj))
{return FALSE;}
return TRUE;
}
現在這個工程完全在我的應用程序的32位編譯的代碼。然而在x64建立查找總是失敗,即使項目出現在地圖上,我尋找的關鍵是存在於地圖上。我認爲它與構建配置問題有點相關,我檢查了鏈接屬性併爲應用程序項目的x86和x64選項構建了配置,並且它們使用除目標機器選項之外完全相同的配置(這應該是不同的)。
有人可以幫我解決這個問題,我一直在尋找所有在互聯網上的一個解決方案,但沒有找到任何東西。
哦,我使用VS 2010 SP1
問候
嘗試尋找到CMap.Lookup源......也許有一些神奇的存在,禁用它在正常工作你的情況。 – 2012-03-11 15:35:05
不能訪問sorce ..對不起,我試過了... – 2012-03-11 16:24:32