Rückgabe eines Arrays ... ?
-
Hallo,
ich möchte mir von einer selbstprogrammierten String-Split-Funktion gerne einen Array zurückgeben lassen.
Die größe des Array kenne ich nicht, die ergibt sich erst beim Splitten des Arrays.Ich habe schon probiert:
string[] split(...) { string myArray[]; ... return myArray; }
und
void split(..., string& myArray[]) { ... }
Nix von beidem funktioniert aber.
Hat irgendjemand eine Idee?Habt vielen Dank!
-
Hallo,
du könntest nen std::vector zurück geben. Das ist IMHO das Einfachste.
typedef std::vector<std::string> splitresult_t; split(std::string in, splitresult_t &out);
-
Hallo,
probire es doch mal mit zeigern.
void split(..., string* myArray) { ... }
MFG TaccoGo
-
Danke.
Das mit den Zeigern geht soweit recht gut.void split(..., string* xyz) { xyz[0]="aaa"; xyz[1]="bbb"; }
und
string splitted[5]; split( ... , splitted);
Nur muss ich da vorher die exakte Größe des Arrays angeben.
Die weiß ich aber eigentlich nicht, da der String halt gesplittet wird und da können unterschiedlich viele Elemente bei rauskommen.Nur wenn ich es mit
string splitted[];
versuche meldet der Compiler mir einen Error: Unbekannte Groesse ...
-
die größe des arreys dynamisch erzeugen mit new und delete.
MFG TaccoGo
-
Bitte, nehmt halt nen verdammten vector her.
Ihr tut euch doch nur weh.
-
benutzt boost::array für solche spielereien