c++ 释放堆区变量程序崩溃就是不知道为什么

m0_46478585 2020-04-19 09:48:50
这个程序是要让用户输入单词,如:hello word 我在堆区申请了char**的空间和char*的空间来储存输入的每个单词即指针数组 后面又在堆区创建temp来接收输入,检测是否为done(程序遇到done单词退出) 再将temp写入到arrSize数组里 代码中使用.get()是为了读取空格(输入是单词以空格分割) 经调试,程序崩溃的地方是 delete temp 我想过不知道是不是出现深拷贝的重复释放问题(但我认为前面使用strcpy(c语言库函数)已经避免了这个问题,因为这是创建副本来进行拷贝) 实在想不出什么原因了 求大神求助(如果对程序意图不清楚可以问我,我可能描述的不好)
...全文
115 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
m0_46478585 2020-04-19
  • 打赏
  • 举报
回复
引用 2 楼 arfi 的回复:
char *temp = new char[20];

你只申请了1个字符的空间,申请多一些
我吐了 怎么犯这种错误。。。
arfi 2020-04-19
  • 打赏
  • 举报
回复
char *temp = new char[20];

你只申请了1个字符的空间,申请多一些
m0_46478585 2020-04-19
  • 打赏
  • 举报
回复
代码没有整理 不够简洁 也没注释 我发了才注意到这些问题

64,639

社区成员

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

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