001
23.12.2010, 13:07 Uhr
Dobi
|
Hi Lensflare,
deine Memberfunktion nimmt einen void*, du versucht aber, einen int* zu übergeben.
Also, entweder
C++: |
StringBuilder& operator<<(int* v) {
|
oder
C++: |
f(StringBuilder() << "test " << n << " " << b << " " << static_cast<void*>(p));
|
oder etwas templatiges, wo du nicht für jeden Zeigertyp extra spezialisieren musst.
Gruß Dobi
Edit: Falls dich die templatige Lösung lockt, könnte es passieren, dass du darüber stolperst, dass die Überladung bei spezialisierten Funktionstemplates nicht mehr funktioniert ( siehe: www.gotw.ca/publications/mill17.htm ).
Das ganze lässt sich aber über ne Hilfsfunktion in einem Klassentemplate machen. Ich hab dir das mal hier reingeschrieben: http://pastebin.com/C9L9cXDF
PS: Falls du dann irgendwann keine Lust mehr darauf hast, nakte Zeiger benutzen, lässt sich das ganze natürlich auch auf shared_ptr und co umschreiben. Dieser Post wurde am 23.12.2010 um 13:49 Uhr von Dobi editiert. |