Здравствуйте все!
Точно не знаю в какой форум писать, надеюсь модераторы перенесут, если не правильно.
Есть простой MFC SDI-проект, и такой обработчик
void CMainFrame::OnClose()
{
vector<string> vec;
CMessage pMessage;
pMessage.AddField("02");
bool b= (("01"== pMessage.GetField(0)) && ("_"== pMessage.GetField(0)));
CFrameWnd::OnClose();
}
где:
class CMessage
{
public:
void AddField(string strValue)
{
m_vecFields.push_back(strValue);
};
string GetField(int i)
{
return m_vecFields[i];
};
private:
vector<string> m_vecFields;
};
После запуска по F5 (VC6.0 EE) получаем:
Detected memory leaks!
Dumping objects ->
{217} normal block at 0x00422DC0, 33 bytes long.
Data: < 02 > 00 30 32 00 CD CD CD CD CD CD CD CD CD CD CD CD
причём странно, если в OnClose я комментирую сторку
vector<string> vec;
или
bool b= (("01"== pMessage.GetField(0)) && ("_"== pMessage.GetField(0)));
то утечка пропадает, хотя они никак не связаны(я так думаю).
Буду благодарен за любые ответы!
22.06.05 17:22: Перенесено модератором из 'C/C++' — Павел Кузнецов