Ich weiß, dass es ähnliche Fragen wie diese gibt, aber ich habe es nicht geschafft, mithilfe ihrer Hilfe den Weg in meinem Code zu finden. Ich möchte lediglich ein Element eines Vektors löschen / entfernen, indem ich ein Attribut dieses Elements in einer Schleife überprüfe. Wie kann ich das machen? Ich habe den folgenden Code ausprobiert, erhalte jedoch die vage Fehlermeldung:
Die Funktion 'operator =' ist in 'Player' nicht verfügbar.
for (vector<Player>::iterator it = allPlayers.begin(); it != allPlayers.end(); it++)
{
if(it->getpMoney()<=0)
it = allPlayers.erase(it);
else
++it;
}
Was soll ich machen?
Update: Denken Sie, dass die Frage vector :: erase with pointer member zum selben Problem gehört? Benötige ich daher einen Zuweisungsoperator? Warum?