我正在调试模式下在VS 2008 Express Edition上开发应用程序。在实例化我创建的类的新指针时,我得到一个std :: bad_alloc异常。由于它处于调试模式,我在出现的窗口中单击“break”,然后按“播放”按钮尝试恢复程序。
接下来发生的事情是意料之外的:程序可以正常工作。
当我使用Matrix
实例化Matrix* vec = new Matrix[maxItr + 1];
个对象(我的类)数组时会发生此错误(我已经检查过,当{1}}错误被提升时,maxItr
等于5 )。这个类有一些整数成员和一个指向char的指针。此指针未在默认构造函数中分配(甚至设置为0),因此我将此消除作为错误原因。 (不要求非常大的内存块。)
有没有人对此有所了解?
答案 0 :(得分:0)
班级的构造函数中是否包含new
?或者可能是new
被埋在另一个类中,例如向量?如果是这样,也许你正在获得对象向量的分配,但其中包含的一个或多个对象格式不正确。