Default-Wert für Vektor
-
Hallo!
Wenn eine Methode optionale Argumente besitzt, dann gibt man denen ja bei der Deklaration oder Definition Default-Werte mit.
Wie sieht so ein Default-Wert für Vektoren aus?Beispiel:
// In der Header-Datei: void fuer_int(const unsigned int i = 0); void fuer_vector(const vector<string> = ???);Grüße, pktm
-
Ich würds über den Konstruktor machen:
Bei einem Vektor, bei dem du drei Elemente mit "Hallo" machen willst:void Function(std::vector<std::string> Vec = std::vector<std::string>(3,"Hallo")) { }Bei einem leeren Vektor sähe das so aus:
void Function(std::vector<std::string> Vec = std::vector<std::string>()) { }Informier dich dazu noch über die Konstruktoren des std::vector:
http://www.cppreference.com/cppvector/vector_constructors.html
-
Nexus schrieb:
Ich würds über den Konstruktor machen:
void Function(std::vector<int> Vec = std::vector<int>(3, 2)) { }Bei einem leeren Vektor sähe das so aus:
void Function(std::vector<int> Vec = sd::vector<int>()) { }Informier dich dazu noch über die Konstruktoren des std::vector.
Ja, mein Gedanke war, eben auf die Erzeugung eines leeren Vektors zur Übergabe als Parameter zu verzichten, indem ich den Parameter optional mache.
-
Sorry, ich hab meinen ersten Beitrag noch editiert, um ihn besser auf dein Problem abzuschneiden.
Du kannst ja auf die Parameterübergabe des Vektors verzichten, da ein Default-Parameter besteht (erkennt man an dem

Du kannst in meinem Beispiel also ruhig schreiben:
Function();
-
Nexus schrieb:
Sorry, ich hab meinen ersten Beitrag noch editiert, um ihn besser auf dein Problem abzuschneiden.
Du kannst ja auf die Parameterübergabe des Vektors verzichten, da ein Default-Parameter besteht (erkennt man an dem

Du kannst in meinem Beispiel also ruhig schreiben:
Function();Ah, jetzt hab ich's kapiert. Danke.