sprintf für string
-
pumuckl schrieb:
Doch. vc7 schluckts, und ich wüsste auch nicht was daran böse sein soll.
Und ich wollte noch an den Beitrag etwas anfügen wie "Achtung: Ich hätte diese Anmerkung nicht gemacht wenn ich nicht wüsste dass dort ein Problem liegt". Hätte ich mal

Sebastian Pizer schrieb:
Die Sache hat leider einen kleinen Haken. Benutzerdefinierte Typen funktionieren hier nicht als erstes Argument, da solche freien operator<<-Funktion den Stream als Referenz annehmen und std::stringstream() aber ein temporäres Objekt ist.
Richtig, darauf wollte ich hinaus.
Genauergesagt funktionieren alle freien operator<<(basic_ostream&, ...) hier nicht, sondern nur die in basic_ostream enthaltenen.
Das Beispiel funktioniert also nur (im Sinne von übersetzt und tut was wir erwarten) für skalare Typen und void*, wobei alle anderen Zeiger (auch der C-String) zu void* zerfallen.