在执行delete函数的时候触发程序断点

weixin_46129709 2020-07-04 12:23:23
使用vscode
执行下面这段代码

int main()
{
char *b = "Hello";
char *a = new char;
strcpy(a, b);
cout << a << endl;
delete a;
cout << a << endl;
system("pause");
}

在执行到delete a;这句的时候vscode弹出异常

出现异常。
Trace/breakpoint trap

想请教是为什么?
...全文
881 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
源代码大师 2021-05-06
  • 打赏
  • 举报
回复
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html
千梦一生 2020-07-06
  • 打赏
  • 举报
回复 3
你这个是印度的程序。

new char申请1个字节空间。
然后尝试用 1个字节的空间挤下6个字节。

可能也只有三哥那边的编译器可以试试。
xdayong 2020-07-04
  • 打赏
  • 举报
回复
里面的问题 1.new 的时候没有指定大小 2.delete一个对象后,重新分配前,不能再操作这个对象
wjm1990 2020-07-04
  • 打赏
  • 举报
回复
delete a;后面那一句 cout << a << endl; 删掉
donwmufromdying 2020-07-04
  • 打赏
  • 举报
回复

int main()
{
    char *b = "Hello";
    char *a = new char;   //这里改成char *a= new char[6];
    strcpy(a, b);
    cout << a << endl;
    delete a;                //这个最后边,否则销毁了你还怎么用。而且要改成delete[]
    system("pause");
}

65,180

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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