分配数组时bad_alloc

时间:2012-04-21 16:39:24

标签: c++

我在类的构造函数上有这个代码:

verts=new GLfloat[nVerts];

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

1 个答案:

答案 0 :(得分:4)

我会检查3件事:

  1. 您是否100%确定nVerts是4?
  2. 记忆真的不是很累吗?
  3. 您的堆是否已损坏? valgrind可以帮助你。