Ist es möglich, Auto für Iterationszwecke so zu verwenden?Smartpointer und Iterieren mit Auto
Code erzeugt Fehler, aber ich frage mich, ob es vielleicht möglich ist. Zeile mit Fehler ist kommentiert. Ich bin neugierig, weil ich intelligente Zeiger mag, aber ich möchte weniger tippen ... und ich mag die Idee des schnellen Prototyping mit C++.
deque<shared_ptr<Vehicle>> data;
data.push_back(shared_ptr<Vehicle>(new Vehicle("aba")));
data.push_back(shared_ptr<Vehicle>(new Vehicle("bobo")));
data.push_back(shared_ptr<Vehicle>(new Vehicle("cici")));
data.push_back(shared_ptr<Vehicle>(new Vehicle("dede")));
data.push_back(shared_ptr<Vehicle>(new Vehicle("efee")));
for(auto i = data.begin(); i != data.end;) //error
{
if((*i)->getName() == "cici")
{
i = data.erase(i); //Only works with C++11. i on left side is next valid pos.
break;
}
else
++i;
}
Was ist Ihre eigentliche Frage, obwohl? – Charles
Sollte data.end(); ? – moof2k
Was ist die Fehlermeldung? – Galik