以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 计算机考研交流 』   (http://bbs.xml.org.cn/list.asp?boardid=67)
----  数据结构第三章的串操作,重载<<输入字符串为什么会出现这个错误?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=67&rootid=&id=40489)


--  作者:computerlover
--  发布时间:11/25/2006 1:58:00 PM

--  数据结构第三章的串操作,重载<<输入字符串为什么会出现这个错误?
istream& operator>> (istream& istr, String& s)
{
 char temp[256];
 istr.getline(temp, 256, '\n');
 delete []s.str;
 s.size = strlen(temp);
 s.str = new char[s.size];
 assert(s.str!=0);
 strcpy(s.str, temp);
 return istr;
}

在main()中
Sring s1;
cin>>s1;
输入一个字符串后(如 good 按回车键后,就出现这个错误提示.
但点"忽略"后能正常运行,即用cout<<s1能正常输出串(godd).
请问这是那出了问题?

没法把VC弹出的错误提示弄到这里,所以只好以附件的形式发上来.把我的原代码也传上来吧,书上有注释,出于时间关系我就没有注释了.
此主题相关图片如下:
按此在新窗口浏览图片


--  作者:0010
--  发布时间:3/12/2007 9:44:00 AM

--  
delete []s.str;
s.str未初始化为有效值或NULL
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms