私はMFCアプリケーションを持っています。マップにはCMap<DWORDLONG, DWORDLONG,_ItemsObj*,_ItemsObj*>
と宣言されており、_ItemsObjはさまざまなデータを含む構造体です。CMap参照が失敗しました
私が直面している問題は、エントリを検索しようとすると、x64ビルド(およびx64ビルドのみ)でLookupメソッドが予期せず失敗するということです。
は、ここで私は
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元に探して試してみてください...多分それはで正しく動作するために無効にしますが、いくつかの魔法がありますあなたの場合。 –
私はそれを試してみました... –