Утечка памяти
От: Pupil  
Дата: 20.06.05 10:16
Оценка:
Здравствуйте все!
Точно не знаю в какой форум писать, надеюсь модераторы перенесут, если не правильно.

Есть простой 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++' — Павел Кузнецов
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.