对反对者:我知道这是一个结构不佳的问题。如果您向下滚动到答案,您会发现我发现了问题的根源。虽然这个问题本身可能没有帮助,但我希望答案能帮助遇到类似运算符重载问题的人。问题是它是什么;我无法确定任何可以使这个问题变得更好的编辑或修订。因此,如果您要投反对票,请同时添加建设性评论。谢谢你。
我正在运行以下代码
myObject o = myObject();
cout << o << endl;
我的 ( friend
) << 运算符在这里重载:
ostream& operator << (ostream& s, myObject o)
{
s << doStuff(o, s) << endl;
return s;
}
预期输出:
object contents
出于某种原因,实际输出包括内存地址:
5452ED48object contents
为什么?