У меня есть класс с методом, который добавляет элемент по указанному индексу. Я пытаюсь дублировать последний элемент вектора и сдвигаю каждый элемент один раз вправо, чтобы я мог вставить новый элемент в заданную позицию. Вот код, который я написал:
void Halmaz::add(const int index, const int num) {
elemek.push_back(elemek.back());
for (int i = elemek[elemek.size()-2]; i > index; i--){
elemek[i] = elemek[i-1];
}
elemek[index] = num;
//findMax();
}
Вот ошибка, которую я получаю при попытке вызвать функцию add (): Тестовый код:
int main()
{
Halmaz lista;
lista.add(2);
lista.add(3);
lista.add(6);
lista.add(1);
lista.add(3);
lista.print();
cout << endl;
cout << lista.getMax() << endl;;
lista.add(66);
lista.print();
cout << lista.getMax() << endl;;
cout << "---------------------" << endl;
lista.add(2,10); //the program stops here
cout << "---------------------" << endl;
return 0;
}
Ошибка:
once 00C7CE88 is 201369893