std :: bad_alloc, но работает в конце - PullRequest
0 голосов
/ 15 июля 2011

Я занимаюсь разработкой приложения для VS 2008 Express Edition в режиме отладки.При создании нового указателя класса, который я создал, я получаю исключение std :: bad_alloc.Поскольку он находится в режиме отладки, я нажимаю на кнопку «перерыв» в появившемся окне и пытаюсь возобновить программу, нажимая на кнопку «воспроизведение».работает как надо.

Эта ошибка возникает, когда я создаю экземпляр массива Matrix объектов (мой класс), используя Matrix* vec = new Matrix[maxItr + 1]; (я проверил и maxItr равно пяти, когда ошибкаПоднялся).Этот класс имеет несколько целочисленных членов и указатель на символ.Этот указатель не размещается в конструкторе по умолчанию (он даже равен 0), поэтому я устранил это как причину ошибки.(Не требуется больших блоков памяти).

У кого-нибудь есть понимание этого?

1 Ответ

0 голосов
/ 15 июля 2011

Есть ли в конструкторе вашего класса new?Или, может быть, new, который похоронен внутри другого класса, такого как вектор?Если это так, возможно, вы получаете выделение для вектора объектов, но один или несколько объектов, содержащихся внутри, искажены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...