c++指针问题 int a = 10; int *p = &a; delete p; return 0; 这个程序运行为什么都会有错

 我来答
adoqq_bd
2012-04-23 · TA获得超过7051个赞
知道大有可为答主
回答量:1818
采纳率:63%
帮助的人:1684万
展开全部
int a = 10;
int *p = &a;
//delete p; //p指向的a是个栈变量,是不能delete的
int* pi=new int(10);
p=pi;
delete p; //这样就可以

只有new出来的对象才可以delete
更多追问追答
追问
那在这段程序中
int a = 10; int *p = &a;
我要删除p 有没有办法
追答
delete p的意思是把p指向的内存空间标记为自由的,并不是把p这个变量删除了
匿名用户
2012-04-23
展开全部
没有 new 为什么要 delete ?

int a = 10;
int *p = &a;
return 0;

试试。
追问
确实是这样的 多谢了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式