C++ delete 释放内存 不行

for(i = height*(width/1201+1);i > 0;i--)
{
QByteArray datagram;
datagram.resize(width+11);
for(j = width+12;j >= 0;j--)
{
datagram[j] = sendbuffer[i][j];
}
sender->writeDatagram(datagram.data(),datagram.size(),QHostAddress::Broadcast,1234);
delete[]senderbuffer[i];
}
delete[]senderbuffer;

请问我这样释放内存为何不行?

delete sendbuffer[i] 不就行了~

for(i = height*(width/1201+1);i > 0;i--)
{
QByteArray datagram;
datagram.resize(width+11);
for(j = width+12;j >= 0;j--)
{
datagram[j] = sendbuffer[i][j];
}
sender->writeDatagram(datagram.data(),datagram.size(),QHostAddress::Broadcast,1234);
delete[]senderbuffer[i];
}
delete[]senderbuffer;

疑问:senderbuffer是new出来的吗?
enderbuffer是二维指针?

在二维数组里面,senderbuffer[i];代表senderbuffer[i][0];的首地址,本质上是列指针,虽然他在数值上跟senderbuffer;以及&senderbuffer[i][0];相等,但是他所指向的不是一个数组,而是一个确定的元素,而对于一个并非指向数组的指针做如此操作是非法的(delete[] senderbuffer[i];)