Zu den Down-Wähler: Ich verstehe, dass dies eine schlecht konstruierte Frage war. Wenn Sie zu den Antworten blättern, werden Sie feststellen, dass ich die Ursache des Problems gefunden habe. Obwohl die Frage selbst vielleicht nicht hilfreich ist, hoffe ich, dass die Antwort jemandem helfen wird, ähnliche Probleme mit dem Überladen von Operatoren zu haben. Das Problem war, was es war; Ich kann keine Änderungen oder Überarbeitungen feststellen, die dies zu einer besseren Frage machen würden. Wenn Sie also eine Abstimmung nach unten abgeben möchten, fügen Sie bitte auch einen konstruktiven Kommentar hinzu. Vielen Dank.Overloaded << Operator Printing Adresse
Ich bin mit dem folgenden Code
myObject o = myObject();
cout << o << endl;
My (friend
) < < Betreiber hier überlastet ist:
ostream& operator << (ostream& s, myObject o)
{
s << doStuff(o, s) << endl;
return s;
}
Erwartete Ausgabe:
object contents
Actual ausgegeben wird, aus irgendeinem Grund, einschließlich der Speicheradresse:
5452ED48object contents
Warum?
Was ist 'doStuff()'? Apropos. Klopf von all dem "myObject o = myObject();" Geschäft. "Mein Objekt o;" ist ausreichend. –
@BenjaminLindley: 'myObject o' ist möglicherweise nicht ausreichend, wenn' myObject' POD ist. – Nawaz
Nicht genügend Informationen, Abstimmung für das Schließen. – Nawaz