char *m_pSendBuffer = new char[m_nSendBufferLen];
delete[] m_pSendBuffer; // OK
char *m_pSendBuffer = new char[m_nSendBufferLen];
m_pSendBuffer = m_pSendBuffer + 10;
delete[] m_pSendBuffer; //Error
正确的做法是:
char *m_pSendBuffer = new char[m_nSendBufferLen];
char *Tmp = m_pSendBuffer ;
m_pSendBuffer = new char[10];
memcpy(m_pSendBuffer,Tmp,10);
delete[] Tmp;
delete[] m_pSendBuffer; // OK