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