Функция моего класса вызывает сбой моей программы - PullRequest
0 голосов
/ 27 марта 2019

Я делаю класс simple_vector, который может содержать только двойные числа, используя динамические массивы.Каким-то образом моя функция вызывает сбой моей программы, и я не знаю, что происходит.Когда я его вызываю, консоль останавливается на мгновение, а затем немедленно завершает основной.

Понятия не имею ...

void simple_vector::push(double value){
if (length == capacity){
    expandCapacity();
}
  array[length++] = value;
}

expandCapacity () дублирует емкость массиваи копирует его содержимое.

Не следует вводить if, учитывая, что я выполняю переход к пустому вектору.

1 Ответ

0 голосов
/ 27 марта 2019

где находится строка, в которой произошла ошибка вашей программы.

first , предположим, что expandCapacity () вылетает из вашей программы. Я понятия не имею, потому что нет никакой информации о функции expandCapacity (). поэтому вы должны попросить своего клирионника прояснить ситуацию.

секунда , предположим, что массив [длина ++] закрывает вашу программу. тогда значение длины больше размера вашего массива. Дополнительно , массив начинается с индекса 0. поэтому вы объявляете массив 10 размеров, затем вы можете получить доступ к массиву [0] ~ массиву [9].

спасибо.

...