发布网友 发布时间:2022-04-23 03:48
共3个回答
热心网友 时间:2023-07-12 03:10
int* p=&A1;
delete p;
这肯定不行。 A1是栈里分配的内存怎么能delete呢。 每一次delete的一定是你new出来的东西
热心网友 时间:2023-07-12 03:10
delete p;
这里错了,
int* p=&A1;
这个语句只不过是普通的将A1的地址给P,不是在自由存储区里的,所以不用delete来删除。
去了这句就可以了
热心网友 时间:2023-07-12 03:11
动态分配的内存才需要delete去释放。如: int* pA1=new int(A1);
而 int* p=&A1; //不是动态分配的内存,因此不需要delete p;