Так что я должен написать свой собственный метод.Как удалить элемент из вектора?
я сделал следующее:
vector<float> remove(vector<float>& sortedVector, float input)
{
for (vector<float>::iterator it = sortedVector.begin() ; it != sortedVector.end(); ++it)
{
if(input == *it)
{
sortedVector.erase(it);
}
}
return sortedVector;
}
Однако компилятор перерывы в течение цикла. Где я неправ? Мне нужно вернуть измененный вектор после того, как заданное значение пользователя будет удалено из вектора.
вместо того, чтобы сделать вашу собственную функцию использовать только [стереть и удалить идиому] (https://en.wikipedia.org/wiki/Erase%E2%80%93remove_idiom) – NathanOliver
@ NathanOliver Потому что он говорит «я должен написать свой собственный метод», это, вероятно, для курса или чего-то еще. –
Компилятор ломается? Какой компилятор вы используете, который страдает от внутренней ошибки_ с чем-то таким простым? –