Problem mit Erstellung von stringstream
-
Hallo!
Ich bastle gerade an einem kleinen c++-Programm für die Uni und komme einfach nicht mehr weiter.
Grundsätzlich will ich in einer Funktion mehrere strings zusammengestoppelt returnen. In PHP würde ich die strings einfach mit . verbinden, also "test".getBla()."nochetwas". Wobei getBla() jetzt auch einen string zurück gibt (wobei das in PHP ja egal wäre ;))
Meine Lösungsstrategie wäre jetzt gewesen das ganze in einen stringstream umzuwandeln, dann kann ich einfach die << Zeichen verwenden. Danach nur noch die Funktion .str() anwenden und alles wäre gut. Leider hat es da aber was.
Diesen Fehlercode bekomme ich:
[img]http://cl.ly/image/0V2Q3B022Z0t[/img]
(Wie füge ich Bilder ein? => Bild URL: http://cl.ly/image/0V2Q3B022Z0t)Leider verstehe ich nicht, was mir das genau sagt und google hilft leider auch nur bedingt.
Hier die wichtigen Ausschnitte des Codes:
std::string student::to_String(){ std::stringstream sstream; sstream << "Student/in " << get_nachName() << get_vorName() << ", Mat.Nr.: " << get_MatNum(); return sstream.str(); }Der gesamte Quellcode mit Makefile ist hier zu finden: http://cl.ly/3P3M2507081e.
Es wäre extrem toll, wenn mir irgendwer helfen könnte.
PS: Ich denke, dass ich den Beitrag auch anders benennen sollte, aber ich weiß nicht wie.
-
Du musst die Headerdatei <sstream> inkludieren, sonst kennt der stringstream nicht (vollständig, muss noch angemerkt werden).
-
Hast wahrscheinlich
#include <sstream>vergessen.*Edit
Uuund.... viel zu langsam
-
Oh... so einfach. Verdammt, an diese Möglichkeit hab ich gar nicht gedacht, dachte das wär alles schon in <string> dabei. Danke!
-
Erst mal solltest Du std::ostringstream verwenden. Du willst ja nichts rein schreiben. Und die Methode muss wahrscheinlich const sein.
Und dann solltest Du Dir überlegen, ob das wirklich das Problem ist. Viele fragen, wie man einen string aus irgendwelchen Daten zusammen basteln kann um ihn auszugeben statt zu fragen, wie man die Daten ausgeben kann. Brauchst Du wirklich einen String?