入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

delete[] 报错问题

创建时间:2010-05-22 投稿人: 浏览次数:985

程序中开始new了一块内存,最后销毁时使用Delete[]老报错,

 

pointNum = GetPointNum(file);

pPointList = new POINT3F[pointNum-1];

memset(pPointList, 0, sizeof(POINT3F)*(pointNum-1));

后来发现红色部分大小与程序所需内存大小明显不符,后来将其改为:

 

pointNum = GetPointNum(file);

pPointList = new POINT3F[pointNum+1];

memset(pPointList, 0, sizeof(POINT3F)*(pointNum+1));

再Delete[]就没有问题了。也就是说在当内存大小不足时,程序中的操作越界操作数据后,原始指针所指内存大小被破坏了,也就不能正确的释放了。

 

 

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像