Удаление динамически выделенной памяти
От: kupaloff  
Дата: 01.05.13 19:42
Оценка: -1 :)
Здравствуйте!
При удалении памяти с помощью оператора delete, которая была выделена с помощью оператора new под экземпляр класса, программа падает.
Все указатели хранятся в CArray<type, type>. Падает не стабильно...а при разных условиях использования программы. Причем до падения
все циклы удаления элементов успешно выполняются.

Подскажите пожалуйста, в чем может быть проблема и как поймать ее причину...
Спасибо!


iCnt = m_oAdvisedWebBrowser2.GetCount();
for(int k = iCnt - 1; k >= 0; k--)
{
    CWebBrowser2* pWebBrowser2 = m_oAdvisedWebBrowser2.GetAt(k);
    if(NULL != pWebBrowser2)
    {
        if(pWebBrowser2->m_bDelete == TRUE)
        {
            delete pWebBrowser2;
            m_oAdvisedWebBrowser2.RemoveAt(k);
        }
        else{}
    }
    else
    {
        m_oAdvisedWebBrowser2.RemoveAt(k);
    }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.