0
boost::asio::ip::tcp::socket& socket() const
正在恢復_socket
這是boost::asio::ip::tcp::socket
類型是給我這個錯誤爲什麼提高:: ASIO :: IP :: TCP ::插座和插座()不能是const
error: invalid initialization of non-const reference of type ‘boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >&’ from a temporary of type ‘const boost::reference_wrapper<const boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> > >’
socket()
功能僅getter和不改變這個對象的狀態,所以爲什麼它會引發錯誤const
?
'當const成員函數被調用返回的引用也必須const' !!那麼我認爲這個函數不能改變對象的狀態。從來沒有聽說過它強制返回'const ref'。 –
@DiproSen:如果返回的引用不是'const',則可以使用它在被引用對象上調用非''constst'函數,從而繞過它的所有'const'。 – DevSolar
但如果返回的參考不是const的它可能改變的狀態'返回object'但不是'該成員函數 –