貌似是一个内存分配的问题

CaesireKin 2014-03-20 06:49:16
具体的代码其实也没啥,就一段
int* indices = new int[150*3];

但是运行到这里的时候程序会抛出异常,VC提示说某个位置的内存已损坏,求解那些因素会导致这种问题?
...全文
98 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
CaesireKin 2014-03-21
  • 打赏
  • 举报
回复
引用 3 楼 lm_whales 的回复:
在此之前,应该也曾经分配内存,并且由于使用不当----------越界写,delete 后写,或者对其他野指针写--------等等, 破坏了堆内存管理数据结构,这是库代码中,为了分配释放内存,而设立的数据结构。 当这个结构受到破坏时,再分配内存即可能出错。
如你所言,确实在计算的时候对数组的大小产生了误差,问题解决了,谢谢,同时也谢谢1L
苍蝇①号 2014-03-20
  • 打赏
  • 举报
回复
肯定是别的地方出问题而没有爆发出来,在这里搞了一把吓人的~~ 没有上下文没法进一步分析
lm_whales 2014-03-20
  • 打赏
  • 举报
回复
在此之前,应该也曾经分配内存,并且由于使用不当----------越界写,delete 后写,或者对其他野指针写--------等等, 破坏了堆内存管理数据结构,这是库代码中,为了分配释放内存,而设立的数据结构。 当这个结构受到破坏时,再分配内存即可能出错。
ithiker 2014-03-20
  • 打赏
  • 举报
回复
为什么不用vector?
图灵狗 2014-03-20
  • 打赏
  • 举报
回复
这里本身没有问题,查查其它地方越界或者堆栈溢出的情况。
引用 楼主 chn3698 的回复:
具体的代码其实也没啥,就一段 int* indices = new int[150*3]; 但是运行到这里的时候程序会抛出异常,VC提示说某个位置的内存已损坏,求解那些因素会导致这种问题?

64,633

社区成员

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

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