c++:求助

[复制链接]
查看11 | 回复4 | 2012-2-16 15:39:50 | 显示全部楼层 |阅读模式
这儿的char *p = "000";是把p指向一个常量 字符串,这儿的p所指向的东西并不是动态new出来的,所以这样用是错误 的,但是delete在执行时不会判断p所指向的是堆内存还是栈内存,所以编译是没问题的...
回复

使用道具 举报

千问 | 2012-2-16 15:39:50 | 显示全部楼层
*** glibc detected *** ./test: free(): invalid pointer: 0x080488e0 ***======= Backtrace: =========/lib/libc.so.6[0x5286c5]/lib/libc.so.6(cfree+0x59)[0x528b09]/usr/lib/libst...
回复

使用道具 举报

千问 | 2012-2-16 15:39:50 | 显示全部楼层
我用VC6编译,编译通过,运行出错!...
回复

使用道具 举报

千问 | 2012-2-16 15:39:50 | 显示全部楼层
你不能先释放p p释放了 它所指向的内存也就不能访问了你可以试着把他放到 cout 语句后面...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行