0
我有Messageable::receiveMessage(Message&)
。当我使用它,我希望能够传递一个Message
,我通过它从一个函数返回一个Message
,但是当我做,我得到函数参考参数不起作用从其他函数返回的值
error: no matching function for call to 'Messageable::receiveMessage(Message)'
no known conversion for argument 1 from 'Message' to 'Message&'
它只能当我用我的重载< <(因为它返回一个消息&,即:receiveMessage(myMsg<<value);
)
我可能是什么/我我可能做错了,或者是它只是没有在标准中允许从函数返回的值?我认为,当你声明一个引用参数时,你可以使用这个对象本身并自动进行转换(只有区别,它不会被复制),而且我看不出它是否来自函数。
(我知道这个问题很可能回答过了,但我只搜索想出了一个链接错误“未定义参考”)
有过错的代码为receiveMessage(action->second->message());
是的......正是这样:一个临时对象。 – efaj