0

関数のパラメーターとして std::map があり、デバッグ モード (VS2008) ではマップに正しいキーと値がありますが、リリースでプログラムを開始すると、マップにひどい文字が入ります!

コード ダンプ:

    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++)
       {  
          ...
       }
       ...
    }

このコードがリリースモードで機能しない理由はありますか???

感謝と挨拶

4

1 に答える 1

0

私の推測では、リリースではまだデバッグ CRT に対してコンパイルしており、_DEBUG が定義されていません (またはその逆)。

于 2010-12-14T22:41:18.543 に答える