0

我有一个 std::map 作为函数的参数,并且在调试模式(VS2008)中,地图具有正确的键和值,但是当我在 Release 中启动程序时,地图中有糟糕的字符!

代码转储:

    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 回答