template
-
Hallo
Ich habe leider keine Ahnung, wie man mit templates programmiert und habe mich deswegen mal an das Thema gewagt. Nun lautet meine Frage: Wie kann man eine Funktion schreiben, deren Rückgabetyp und Parameter unbekannt sind?
template<class X, class Y> Y ToNumber(X Par) { stringstream Temp; Temp<<Par; Y TempNumber; Temp>>TempNumber; return TempNumber; }Ich weiß allerdings nicht, ob das passt und wie man das aufruft. Ich kann das leider auch gerade nicht testen, weil ich keinen Compiler zur Stelle habe.
chrische
-
Ja, das passt so, allerdings würde ich die template-Parameter umtauschen:
//Funktion: template<typename TO,typename FROM> TO toNumber(const FROM& val) {...} //Aufruf: std::string szahl="4711"; int izahl=toNumber<int>(szahl);(PS: Deine Funktion gibt es übrigens schon - nennst sich boost::lexical_cast ;))
-
chrische5 schrieb:
Hallo
Ich habe leider keine Ahnung, wie man mit templates programmiert...
Dann würde ich dir den Template-Artikel im C++-Magazin ans Herz legen.

http://www.c-plusplus.net/forum/viewtopic-var-t-is-128361.html
-
Hallo
Vielen Dank für die schnellen Antworten. das frewut mich ja, dass ich gar nicht weit weg war von der Lösung. Das es diese Funktion gibt, habe ich auch nicht gewusst, aber besser selber geschrieben als abgeschrieben.

chrische