Frage zu Iterator eines Vektors
-
Hallo,
ich habe aus einem Stringstream einen Vektor erstellt, über den ich nun gerne iterieren würde, weil ich die Einträge zwischenzeitlich verändert habe und um diese Änderungen zu überpfüfen, will ich die Einträge ausgeben. Wenn ich das allerdings mache, bekomme ich eine Fehlermeldung. Hier die relevanten Zeilen:
std::vector<string> l;
for (auto i = l.begin; i != l.end(); i++)
{
cout << *i << endl;
}Was ist denn daran falsch? Die Fehlermeldung ist: [Error] unable to deduce 'auto' from 'l.std::vector<std::basic_string<char> >::begin'
Kann mir jemand weiterhelfen?
-
Alex1994 schrieb:
...
std::vector<string> l;for (auto i = l.begin**()**; i != l.end(); i++)
{
cout << *i << endl;
}
...
-
() fehlen bei begin.
Nimm aber doch lieber eine foreach-Loop:
std::vector<string> l; for (const auto &s : l) { cout << s << '\n'; }
Oder nutze einen Algorithmus (copy auf einen ostream_iterator).
-
Oh je, das passiert, wenn man zu lange draufstarrt ^^ Ein typischer Fall von Betriebsblindheit.