*Edit delete就出错咋回事

*Edit delete就出错怎么回事


vect<Edit *> m_VectEdit;
int m_SidelongNum = 3;
Edit *pEdit;
pEdit = new Edit[m_SidelongNum];
for (int i = 0;i<m_SidelongNum;i++)
{
m_VectEdit.push_back(&pEdit[i]);
}

//这么删除就出错
Edit *pDelete;
for (vector<SEdit *>::const_iterator i = m_VectEdit.begin();i<m_VectEdit.end();i++)
{
pDelete = (SEdit *)*i;
delete pDelete;
}


我应该怎么弄呢?

------解决方案--------------------
delete[] pDelete;

------解决方案--------------------
不要去删迭代器
释放的时候这样处理
C/C++ code
for(int i=0; i<m_VectEdit.size(); i++)
{
    Edit*  pDelete = m_VectEdit.at(i);
    delete pDelete;
}
m_VectEdit.clear();