我创建了一个int型变量
然后我把它赋值给一个指针。
在那之后,我计算了它,然后最终我删除了它。
会发生什么?控制台弹出,但随后立即出现一个错误对话框,错误提示Assertion Failure。有人能解释一下为什么我收到这个错误吗?下面是代码:
int main()
{
int mainNum = 10;
int *numPt;
numPt = &mainNum;
cout << &numPt;
delete(numPt);
cout << endl << endl << endl; // this is to secure last newline char to be outputted.
cout << "---------------------------" << endl;
return 0;
}
不能删除堆栈上的内容。您只能删除堆上的东西(由new
创建)。否则会发生各种各样的事情