Einen leeren Vector zurueckgeben
-
Hy,
ich habe eine Funktion die nach bestimmten Kriterien einen Vector zusammenstellt.
Werden diese Kriterien nicht erfuellt, soll die Funktion einen leeren Vector zurueckgeben.return vector<int>;klappt nicht hier bekomme ich folgendne Fehler:
[C++ Fehler] file.cpp(102): E2108 Ungültige Verwendung von typedef 'vector<int,allocator<int> >'
Was geht, ist wenn ich natuerlich oben einen Vektor erstelle, zu diesem keine Elemnte hinzufuege und diese zurueckgeben, finde ich aber unsauber.
Fuer eine Hint waere ich dankbar

-
cproc_ghost schrieb:
return vector<int>;Einen Typen zurückgeben?
Wohl besser ein temp. Objekt:return vector<int>();MfG
-
ceplusplus@loggedoff schrieb:
Wohl besser ein temp. Objekt:
return vector<int>();MfG
Hast recht, man muss nur die Fehlermeldung eigentlich genau lesen :).
Danke!
-
Noch eine Verstaendnissfrage, durch die () wird jetzt praktisch der StandardKonstruktor aufgerufen, oder wie muss ich mir das vorstellen?
-
ja genau
-
Falls du einen Vektor mit Konstruktorargumenten zurückgeben willst, kannst du ja folgendes machen:
return std::vector<float>(3, 5.42f);Leere Klammern deuten auf keine Argumente hin -> Defaultkonstruktor.