CStringArray aus Funktion erhalten
-
Hallo,
wie kann ich in einer Funktion einen CStringArray zurückgeben? Ich erhalte ständig Fehlermeldungen. Was mache ich falsch?
Mein Code:
CStringArray stdfunctions::string2array(CString String,char Trennzeichen) { CStringArray straArray; CString Buffer; int x,y; y = 0; String.Trim(); while (String.GetLength() > 0) { y++; Buffer = String; x = String.Find(Trennzeichen); if (x > 0) { Buffer.Delete(x,Buffer.GetLength()); String.Delete(0,x+1); } else { String = ""; } straArray[y] = Buffer; } return straArray; }Daraufhin erhalte ich folgende Fehlermeldung:
error C2558: class 'CStringArray' : Kein Kopierkonstruktor verfügbar oder der Kopierkonstruktor is als 'explicit' deklariert
Leider kann ich damit und was die Hilfe mir dazu sagt nichts anfangen.
-
Mach doch eine Referenz als weiteren Parameter oder gib einen Zeiger zurück.
-
estartu_de schrieb:
Mach doch eine Referenz als weiteren Parameter ...
Meinst Du damit, dass ich einen veränderbaren leeren CStringArray mitübergebe und diesen in der Funktion fülle?
Werde ich mal versuchen. Danke!
PS: Das mit dem Zeiger hatte ich schon probiert. Hat leider auch nicht geklappt.
Gruß,
Elayas
-
Genauso war das gedacht.

Zu dem nicht funktionierten Zeiger:
Hast du den denn auch mit new angelegt? (Und später brav wieder gelöscht?)