私は関数のパラメータとしてstd :: mapを持っていて、デバッグモード(VS2008)ではマップに正しいキーと値がありますが、リリース時にプログラムを起動すると地図に泥棒がいる!std :: map怠惰な文字をリリースモードでのみ
コードダンプ:
std::map<CString, CString> libVersions;
... // fill values
utilFunctions->Function(&libVersions))
bool UtilityFunctions::Function(std::map<CString,CString> *dllMapData)
{
...
map<CString,CString>::iterator it;
for(it=dllMapData->begin(); it!=dllMapData->end(); it++)
{
...
}
...
}
このコードはリリースモードでは機能しない理由を任意のアイデア?
おかげで、
地図を塗りつぶすコードを投稿できますか?それは興味深い部分です:) –
可能であれば 'CString'ではなく' std :: string'に切り替え、ポインタの代わりに参照を使用します。 –
マップ内の文字列が完全に間違っているか、余分な文字がいくつかありますか?キーと値の両方が間違っていますか? – Dave