Я знаю, что есть вопросы, похожие на этот, но мне не удалось разобраться в моем коде по их помогать. Я просто хочу удалить / удалить элемент вектора, проверив атрибут этого элемента внутри цикла. Как я могу это сделать? Я пробовал следующий код, но получаю расплывчатое сообщение об ошибке:
функция 'operator =' недоступна в 'Player'.
for (vector::iterator it = allPlayers.begin(); it != allPlayers.end(); it++)
{
if(it->getpMoney()<=0)
it = allPlayers.erase(it);
else
++it;
}
Что мне делать?
Обновление: Считаете ли вы, что вопрос vector :: erase с элементом-указателем относится к той же проблеме? Нужен ли мне, следовательно, оператор присваивания? Почему?