string 的问题,删除时出错

nobounded 2004-09-09 04:53:59
是这样的
假如:
string *name=new string[100];
给name内的东西赋值。
//用erase()清空赋的值,一样会出错。
delete name;//这里出错。不知道怎么回事。
...全文
218 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
shakaCY 2004-09-13
  • 打赏
  • 举报
回复
哈哈哈,结贴啦。。。接分啊!!!!
^_^
oo 2004-09-11
  • 打赏
  • 举报
回复
to classrect(以前的号丢了,郁闷):
按你的写法,当析构函数没错时,当i=1时,即 delete pstrname+1; 时,肯定出错。
sharkhuang 2004-09-11
  • 打赏
  • 举报
回复
string数组?
oo 2004-09-10
  • 打赏
  • 举报
回复
to classrect(以前的号丢了,郁闷):

你这样写才是100%出错,别教坏了别人。
zgy166 2004-09-10
  • 打赏
  • 举报
回复
学习
classrect 2004-09-10
  • 打赏
  • 举报
回复
to oo(为了名副其实,努力学习oo技术ing) :

谢谢你的指教

我只是觉得可能是析构函数出错,这样写当然不可以,我只想看看第几个对象的析构出错!!

只是测试一下
bluejugar 2004-09-10
  • 打赏
  • 举报
回复
估计是String析构时出也问题.
zhengguoshan 2004-09-09
  • 打赏
  • 举报
回复
delete [] name;
wyystxl 2004-09-09
  • 打赏
  • 举报
回复
up!
apprentice111 2004-09-09
  • 打赏
  • 举报
回复
up
classrect 2004-09-09
  • 打赏
  • 举报
回复
你这样
string *pstrname = name;
for(int i=0;i<100;i++)
{
delete pstrname+i;
}
再调试,看看bug在那?我怀疑是string的析构出错
grooving 2004-09-09
  • 打赏
  • 举报
回复
最好用容器。不要用[]
fangrk 2004-09-09
  • 打赏
  • 举报
回复
源代码
bob640 2004-09-09
  • 打赏
  • 举报
回复
呵呵,关于delete的错误使用,上面已回答得够清楚了.
删除时出错问题,肯定是在哪个地方内存写越界了.
青衫踏月华 2004-09-09
  • 打赏
  • 举报
回复
我也只有顶的份了
hcj2002 2004-09-09
  • 打赏
  • 举报
回复
呵呵!

只有UP!
Wolf0403 2004-09-09
  • 打赏
  • 举报
回复
我很怀疑你是怎样操作这些 string 的……
nobounded 2004-09-09
  • 打赏
  • 举报
回复
哦,看看,这几天忙晕了,不过我已经用其他方法解决了,到VSS里找回来看看,我以为string这东西有问题呢,谢谢了。
  • 打赏
  • 举报
回复
C++中new数组要和delete[]
new对象就用delete
oo 2004-09-09
  • 打赏
  • 举报
回复
delete name;是不对的
但即便用delete name;程序也不会在这里出错呀,
如果程序在这个地方出错,肯定是别的地方有问题。

还是把另外的代码贴出来吧。
加载更多回复(5)

24,856

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧