如果我通过引用返回,则此代码将起作用。我的问题是为什么我不能按价值返回?
/* Boss is a struct I defined, but is literally empty */
ostream operator<<( ostream & speak, Boss y ) {
speak << "We need more profit!" << endl;
return speak;
}
int main() {
Boss b;
cout << b << endl;
}
我的猜测是,可能是因为你不能调用带有临时对象的函数,但我之前已经调用了带有临时对象的函数。这是运营商特有的吗?