当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : g++牛人进看看
帖子发表于 : 2007-03-14 21:02 

注册: 2007-02-05 22:02
帖子: 81
送出感谢: 0 次
接收感谢: 0 次
编译h7main.cpp h7.cpp
之后就这样了!高手帮忙:谢谢了


honker@honker:~/c++Class$ g++ h7.cpp h7main.cpp -o main
honker@honker:~/c++Class$ ./main
The Strings are 'honker'
The Strings are 'abcd'
The Strings are 'abcder'
*** glibc detected *** ./main: free(): invalid pointer: 0x0000000000503034 ***
======= Backtrace: =========
/lib/libc.so.6[0x2b9d1ba17733]
/lib/libc.so.6(__libc_free+0x84)[0x2b9d1ba178b4]
./main[0x40104c]
./main[0x401646]
/lib/libc.so.6(__libc_start_main+0xf4)[0x2b9d1b9c60c4]
./main(__gxx_personality_v0+0x61)[0x4009f9]
======= Memory map: ========
00400000-00402000 r-xp 00000000 08:09 522389 /home/honker/c++Class/main
00502000-00503000 rw-p 00002000 08:09 522389 /home/honker/c++Class/main
00503000-00524000 rw-p 00503000 00:00 0 [heap]
2b9d1b3fe000-2b9d1b41a000 r-xp 00000000 08:08 1436164 /lib/ld-2.4.so
2b9d1b41a000-2b9d1b41e000 rw-p 2b9d1b41a000 00:00 0
2b9d1b519000-2b9d1b51b000 rw-p 0001b000 08:08 1436164 /lib/ld-2.4.so
2b9d1b51b000-2b9d1b601000 r-xp 00000000 08:08 1470967 /usr/lib/libstdc++.so.6.0.8
2b9d1b601000-2b9d1b700000 ---p 000e6000 08:08 1470967 /usr/lib/libstdc++.so.6.0.8
2b9d1b700000-2b9d1b706000 r--p 000e5000 08:08 1470967 /usr/lib/libstdc++.so.6.0.8
2b9d1b706000-2b9d1b709000 rw-p 000eb000 08:08 1470967 /usr/lib/libstdc++.so.6.0.8
2b9d1b709000-2b9d1b71b000 rw-p 2b9d1b709000 00:00 0
2b9d1b71b000-2b9d1b79b000 r-xp 00000000 08:08 1436331 /lib/libm-2.4.so
2b9d1b79b000-2b9d1b89a000 ---p 00080000 08:08 1436331 /lib/libm-2.4.so
2b9d1b89a000-2b9d1b89c000 rw-p 0007f000 08:08 1436331 /lib/libm-2.4.so
2b9d1b89c000-2b9d1b8a9000 r-xp 00000000 08:08 1436225 /lib/libgcc_s.so.1
2b9d1b8a9000-2b9d1b9a8000 ---p 0000d000 08:08 1436225 /lib/libgcc_s.so.1
2b9d1b9a8000-2b9d1b9a9000 rw-p 0000c000 08:08 1436225 /lib/libgcc_s.so.1
2b9d1b9a9000-2b9d1badf000 r-xp 00000000 08:08 1436218 /lib/libc-2.4.so
2b9d1badf000-2b9d1bbdf000 ---p 00136000 08:08 1436218 /lib/libc-2.4.so
2b9d1bbdf000-2b9d1bbe2000 r--p 00136000 08:08 1436218 /lib/libc-2.4.so
2b9d1bbe2000-2b9d1bbe4000 rw-p 00139000 08:08 1436218 /lib/libc-2.4.so
2b9d1bbe4000-2b9d1bbeb000 rw-p 2b9d1bbe4000 00:00 0
2b9d1bc00000-2b9d1bc21000 rw-p 2b9d1bc00000 00:00 0
2b9d1bc21000-2b9d1bd00000 ---p 2b9d1bc21000 00:00 0
7fff8f697000-7fff8f6ac000 rw-p 7fff8f697000 00:00 0 [stack]
ffffffffff600000-ffffffffffe00000 ---p 00000000 00:00 0 [vdso]
忽略 (core dumped)
honker@honker:~/c++Class$


附件:
c++Class.tar.gz [1.48 KiB]
被下载 33 次
页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-03-14 21:14 

注册: 2006-03-10 15:10
帖子: 3182
地址: xi'an China
送出感谢: 0 次
接收感谢: 2
引用:
g++ -Wall h7.cpp h7main.cpp -o main

把这个选项打开呢?


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-03-14 23:48 

注册: 2006-09-27 20:49
帖子: 131
送出感谢: 0 次
接收感谢: 4
你在 String String::operator-(String& temp) 方法中,对指针 s 以及传入的引用 temp 中的指针 s 都做了修改,而在析构函数 String::~String() 中却要对这个指针做delete操作,显然会引起堆指针混乱,导致崩溃。
解决方法是,在 String String::operator-(String& temp) 方法中,用临时变量指针指向 s 来参与计算,这样保证 s 不被修改。


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-03-15 12:57 

注册: 2007-02-05 22:02
帖子: 81
送出感谢: 0 次
接收感谢: 0 次
谢谢3楼的,已经解决!你说的没错!


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译