delete []p を使用すると、ヒープの破損が発生します。
Rectangle *p[3];
for (int i = 0; i<3; i++)
p[i] = new Rectangle();
p[0]->set(3, 4);
p[1]->set(10, 8);
p[2]->set(5, 6);
for(int i=0; i < 3; i++)
cout << "Area is " << p[i]->area() << endl;
delete []p;
delete [] をに変更した後
for (int i = 0; i<3; i++)
delete p[i];
動作しますが、delete []p を使用できないのはなぜですか? delete []p は p[0] のみを削除し、delete []p で [] は何を意味しますか?