我有两个班级。
Shape
是基类,Rect
是派生类。我创建了两个动态数组:
Shape* pShapes = new Rect[10]; // 1)
Rect* pRects = new Rect[10]; // 2)
然后在做一些操作之后我应该删除内存:
delete[] pShapes;
delete[] pRects;
当我尝试删除
pShapes
时,我看到了Signal: SIGSEGV (Segmentation fault)
。我想这个错误的发生是因为使用 Shape*
而不是 Rect*
(如第 2 行)。但是第一个数组的这个奇怪的声明是我的任务,我无法编辑它。我怎样才能删除pShapes
?
我在 CLion 上使用 MinGW 和 MSYS。