分配阵列时bad_alloc

bad_alloc when allocating array

本文关键字:alloc bad 阵列 分配      更新时间:2023-10-16

我在类的构造函数上有以下代码:

verts=new GLfloat[nVerts];

verts 是类 (GLfloat *) 的成员变量,nVerts 是 4。该代码有问题吗?如果我尝试做malloc(sizeof(GLfloat)*nVerts),我得到同样的错误我想我没有用完内存,因为如果我将该行代码更改为代码的另一部分(例如,更改为在调用构造函数之前调用构造函数的方法,如下所示:GLfloat *test=new GLfloat[4]它有效)

我会检查 3 件事:

  1. 你 100% 确定nVerts是 4 吗?
  2. 记忆真的不是耗尽了吗?
  3. 你的堆没有损坏吗? Valgrind可以为您提供帮助。