我遇到了一個綁定錯誤提振完成處理程序綁定錯誤
/usr/local/include/boost/bind/bind.hpp:457:錯誤:無效的使用無效表達
我的節目是關於使用回調處理程序如下異步操作:
template<typename Handler>
void async_monitor(Handler handler) {
stream_descriptor_.async_read_some(
boost::asio::buffer(read_buffer_),
boost::bind(&dir_monitor_impl::handle_monitor<Handler>, shared_from_this(),
boost::asio::placeholders::error,
boost::asio::placeholders::bytes_transferred,
handler));
}//IF I remove this code, the compilation success
而且處理程序聲明:
template<typename Handler>
void handle_monitor(boost::system::error_code &ec,
std::size_t bytes_transferred, Handler handler){
}
最後,這些臺異步操作用作follwowing:
template <typename Handler>
void start_async_monitor(implementation_type &impl, Handler handler)
{
//this->async_monitor_io_service_.post(monitor_operation<Handler>(impl, this->get_io_service(), handler));
impl->async_monitor(handler);
}
難道你們幫我解釋一下這個錯誤,非常感謝!
你可以發佈完整的錯誤消息? – TemplateRex 2013-05-03 06:27:37
@rhalbersma:在這裏發帖很久了。 Compliler不會完全顯示錯誤。 – khanhhh89 2013-05-03 06:48:27
/usr/local/include/boost/bind/bind.hpp:392:錯誤:無法匹配調用'(boost :: _ mfi :: mf2)(file_handler *&,const boost :: system :: error_code&,const long unsigned int&)' –
khanhhh89
2013-05-03 06:55:19