ダウン投票者に:これは構成が不十分な質問でした。答えにスクロールすると、問題の原因を発見したことがわかります。質問そのものは役に立たないかもしれませんが、回答がオペレータの過負荷と同様の問題を経験するのに役立つことを願っています。問題はその問題だった。私はこれをより良い質問にする編集や改訂を特定することはできません。したがって、ダウンボートを提出する場合は、建設的なコメントも追加してください。ありがとうございました。オーバーロード<<オペレータの印刷住所
ostream& operator << (ostream& s, myObject o)
{
s << doStuff(o, s) << endl;
return s;
}
予想される出力:
object contents
私は
myObject o = myObject();
cout << o << endl;
私は(friend
)< <オペレータが、ここでオーバーロードされ、次のコードを実行していますよ
実際の出力は何らかの理由でメモリアドレスを含む:
5452ED48object contents
なぜですか?私たちは、あなたがしたいのか理解できません
'doStuff()'とは何ですか?ところで。すべてのことをノック "myObject o = myObject();"ビジネス。 "myObject o;"十分なものです。 –
@BenjaminLindley: 'myObject'がPODの場合は' myObject o'では不十分です。 – Nawaz
閉鎖のための投票に十分な情報がありません。 – Nawaz