C ++中的new,delete和subclasses
|
TextItem
是XObject
的子类。
我试图弄清楚为什么以下工作:
TextItem *textItem = new TextItem();
XObject *xItem = textItem;
delete textItem;
但这不是:
TextItem *textItem = new TextItem();
XObject *xItem = textItem;
delete xItem;
第二个示例在delete
上失败,并带有断言失败(_BLOCK_TYPE_IS_VALID
)。
没有找到相关结果
已邀请:
3 个回复
容淑阔九
仅当ѭ1具有虚拟析构函数时,此方法才有效。否则,“ 4”语句将调用未定义的行为。
赐黄
具有
析构函数,或者第二个片段具有未定义的行为:
挂帘妈乡