中易网

指针大神请进,delete []temp1的时候出现错误,弹框_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)

答案:3  悬赏:80  
解决时间 2021-02-15 14:46
指针大神请进,delete []temp1的时候出现错误,弹框_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
最佳答案
delete []temp1;你这里是要删除原来分配的内存 但是你在执行
for(j=0;j
全部回答
  • 1楼网友:如果这是命
  • 2021-02-14 19:29
还有一个问题{*temp2++=*temp1++;} 这条语句会导致指针越界。会踩Dest后的内存。 再看看别人怎么说的。
  • 2楼网友:woshuo
  • 2021-02-14 17:58
char *temp1, *guard; guard = temp1 = new char[sizeof(Src)]; 因为你temp1 ++了,移动了,就不再指向分配好的内存头部,因此delete操作是非法的 这时候: delete []guard,可以不用中括号。 此外,你的sizeof(Src)是有问题的,无论你写成char Src[]还是char *Src,sizeof都是4,即指针长度。 此处应该调用strlen(Src)
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯