Note that there are some explanatory texts on larger screens.

plurals
  1. POBoost beginner, boost::bind nightmare
    text
    copied!<p>I've got this header (redone from a boost asio example):</p> <pre><code> #ifndef MSGSRV_H_ #define MSGSRV_H_ #include &lt;asio.hpp&gt; #include &lt;boost/array.hpp&gt; #include &lt;boost/bind.hpp&gt; #include &lt;boost/shared_ptr.hpp&gt; #include &lt;boost/system/error_code.hpp&gt; namespace msgSrv { class msgSrv { private: asio::ip::udp::socket *asioSocket; asio::io_service *asioIoService; int listenPort; boost::array&lt;char,1&gt; rcvBuff; asio::ip::udp::endpoint lastRcvdPcktEndp; public: msgSrv(int listenPort); virtual ~msgSrv(); void start(); void pckRcvd( boost::system::error_code &amp;, std::size_t); }; } </code></pre> <p>and the .cpp:</p> <pre><code>#include "msgSrv.h" namespace msgSrv { msgSrv::msgSrv(int listenPort) { // TODO Auto-generated constructor stub this-&gt;listenPort = listenPort; try{ asioIoService = new asio::io_service(); asioSocket = new asio::ip::udp::socket(*asioIoService, asio::ip::udp::endpoint(asio::ip::udp::v4(), listenPort)); //new asio::ip::udp::socket_(*asioIoService, udp::endpoint(udp::v4(), listenPort)); }catch(std::exception &amp;e){ std::cerr &lt;&lt; "Error initializing ioservice or socket:" &lt;&lt; e.what(); } } msgSrv::~msgSrv() { // TODO Auto-generated destructor stub delete asioIoService; delete asioSocket; } void msgSrv::start(){ asioSocket-&gt;async_receive_from( asio::buffer(rcvBuff), lastRcvdPcktEndp, boost::bind(&amp;msgSrv::pckRcvd, this, asio::placeholders::error, asio::placeholders::bytes_transferred)); } void msgSrv::pckRcvd( boost::system::error_code &amp;error, std::size_t bytesRcvd){ std::cout &lt;&lt; "Rcvd!\n"; } } </code></pre> <p>Now, it refuses to compile, giving un-intelligible results:</p> <pre><code>&gt; make all Building file: ../src/msgSrv/msgSrv.cpp Invoking: GCC C++ Compiler g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/msgSrv/msgSrv.d" -MT"src/msgSrv/msgSrv.d" -o"src/msgSrv/msgSrv.o" "../src/msgSrv/msgSrv.cpp" /usr/include/boost/bind.hpp: In member function ‘void boost::_bi::list3&lt;A1, A2, A3&gt;::operator()(boost::_bi::type&lt;void&gt;, F&amp;, A&amp;, int) [with F = boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, A = boost::_bi::list2&lt;asio::error::basic_errors&amp;, int&amp;&gt;, A1 = boost::_bi::value&lt;msgSrv::msgSrv*&gt;, A2 = boost::arg&lt;1&gt; (*)(), A3 = boost::arg&lt;2&gt; (*)()]’: /usr/include/boost/bind/bind_template.hpp:61: instantiated from ‘typename boost::_bi::result_traits&lt;R, F&gt;::type boost::_bi::bind_t&lt;R, F, L&gt;::operator()(A1&amp;, A2&amp;) [with A1 = asio::error::basic_errors, A2 = int, R = void, F = boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, L = boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt;]’ /usr/include/asio/detail/bind_handler.hpp:95: instantiated from ‘void asio::detail::binder2&lt;Handler, Arg1, Arg2&gt;::operator()() [with Handler = boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, Arg1 = asio::error::basic_errors, Arg2 = int]’ /usr/include/asio/handler_invoke_hook.hpp:62: instantiated from ‘void asio::asio_handler_invoke(Function, ...) [with Function = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error::basic_errors, int&gt;]’ /usr/include/asio/detail/handler_invoke_helpers.hpp:39: instantiated from ‘void asio_handler_invoke_helpers::invoke(const Function&amp;, Context*) [with Function = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error::basic_errors, int&gt;, Context = boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;]’ /usr/include/asio/detail/bind_handler.hpp:129: instantiated from ‘void asio::detail::asio_handler_invoke(const Function&amp;, asio::detail::binder2&lt;Handler, Arg1, Arg2&gt;*) [with Function = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error::basic_errors, int&gt;, Handler = boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, Arg1 = asio::error::basic_errors, Arg2 = int]’ /usr/include/asio/detail/handler_invoke_helpers.hpp:39: instantiated from ‘void asio_handler_invoke_helpers::invoke(const Function&amp;, Context*) [with Function = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error::basic_errors, int&gt;, Context = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error::basic_errors, int&gt;]’ /usr/include/asio/detail/handler_queue.hpp:191: instantiated from ‘static void asio::detail::handler_queue::handler_wrapper&lt;Handler&gt;::do_call(asio::detail::handler_queue::handler*) [with Handler = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error::basic_errors, int&gt;]’ /usr/include/asio/detail/handler_queue.hpp:171: instantiated from ‘asio::detail::handler_queue::handler_wrapper&lt;Handler&gt;::handler_wrapper(Handler) [with Handler = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error::basic_errors, int&gt;]’ /usr/include/asio/detail/handler_alloc_helpers.hpp:137: instantiated from ‘asio::detail::handler_ptr&lt;Alloc_Traits&gt;::handler_ptr(asio::detail::raw_handler_ptr&lt;Alloc_Traits&gt;&amp;, Arg1&amp;) [with Arg1 = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error::basic_errors, int&gt;, Alloc_Traits = asio::detail::handler_alloc_traits&lt;asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error::basic_errors, int&gt;, asio::detail::handler_queue::handler_wrapper&lt;asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error::basic_errors, int&gt; &gt; &gt;]’ /usr/include/asio/detail/handler_queue.hpp:116: instantiated from ‘static asio::detail::handler_queue::handler* asio::detail::handler_queue::wrap(Handler) [with Handler = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error::basic_errors, int&gt;]’ /usr/include/asio/detail/task_io_service.hpp:190: instantiated from ‘void asio::detail::task_io_service&lt;Task&gt;::post(Handler) [with Handler = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error::basic_errors, int&gt;, Task = asio::detail::epoll_reactor&lt;false&gt;]’ /usr/include/asio/impl/io_service.ipp:125: instantiated from ‘void asio::io_service::post(Handler) [with CompletionHandler = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error::basic_errors, int&gt;]’ /usr/include/asio/detail/reactive_socket_service.hpp:1376: instantiated from ‘void asio::detail::reactive_socket_service&lt;Protocol, Reactor&gt;::async_receive_from(asio::detail::reactive_socket_service&lt;Protocol, Reactor&gt;::implementation_type&amp;, const MutableBufferSequence&amp;, typename Protocol::endpoint&amp;, int, Handler) [with MutableBufferSequence = asio::mutable_buffers_1, Handler = boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, Protocol = asio::ip::udp, Reactor = asio::detail::epoll_reactor&lt;false&gt;]’ /usr/include/asio/datagram_socket_service.hpp:310: instantiated from ‘void asio::datagram_socket_service&lt;Protocol&gt;::async_receive_from(typename asio::detail::reactive_socket_service&lt;Protocol, asio::detail::epoll_reactor&lt;false&gt; &gt;::implementation_type&amp;, const MutableBufferSequence&amp;, typename Protocol::endpoint&amp;, int, ReadHandler) [with MutableBufferSequence = asio::mutable_buffers_1, ReadHandler = boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, Protocol = asio::ip::udp]’ /usr/include/asio/basic_datagram_socket.hpp:756: instantiated from ‘void asio::basic_datagram_socket&lt;Protocol, DatagramSocketService&gt;::async_receive_from(const MutableBufferSequence&amp;, typename Protocol::endpoint&amp;, ReadHandler) [with MutableBufferSequence = asio::mutable_buffers_1, ReadHandler = boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, Protocol = asio::ip::udp, DatagramSocketService = asio::datagram_socket_service&lt;asio::ip::udp&gt;]’ ../src/msgSrv/msgSrv.cpp:37: instantiated from here /usr/include/boost/bind.hpp:348: error: no match for call to ‘(boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;) (msgSrv::msgSrv*&amp;, asio::error::basic_errors&amp;, int&amp;)’ /usr/include/boost/bind/mem_fn_template.hpp:272: note: candidates are: R boost::_mfi::mf2&lt;R, T, A1, A2&gt;::operator()(T*, A1, A2) const [with R = void, T = msgSrv::msgSrv, A1 = boost::system::error_code&amp;, A2 = unsigned int] /usr/include/boost/bind/mem_fn_template.hpp:291: note: R boost::_mfi::mf2&lt;R, T, A1, A2&gt;::operator()(T&amp;, A1, A2) const [with R = void, T = msgSrv::msgSrv, A1 = boost::system::error_code&amp;, A2 = unsigned int] /usr/include/boost/bind.hpp: In member function ‘void boost::_bi::list3&lt;A1, A2, A3&gt;::operator()(boost::_bi::type&lt;void&gt;, F&amp;, A&amp;, int) [with F = boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, A = boost::_bi::list2&lt;asio::error_code&amp;, int&amp;&gt;, A1 = boost::_bi::value&lt;msgSrv::msgSrv*&gt;, A2 = boost::arg&lt;1&gt; (*)(), A3 = boost::arg&lt;2&gt; (*)()]’: /usr/include/boost/bind/bind_template.hpp:61: instantiated from ‘typename boost::_bi::result_traits&lt;R, F&gt;::type boost::_bi::bind_t&lt;R, F, L&gt;::operator()(A1&amp;, A2&amp;) [with A1 = asio::error_code, A2 = int, R = void, F = boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, L = boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt;]’ /usr/include/asio/detail/bind_handler.hpp:95: instantiated from ‘void asio::detail::binder2&lt;Handler, Arg1, Arg2&gt;::operator()() [with Handler = boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, Arg1 = asio::error_code, Arg2 = int]’ /usr/include/asio/handler_invoke_hook.hpp:62: instantiated from ‘void asio::asio_handler_invoke(Function, ...) [with Function = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, int&gt;]’ /usr/include/asio/detail/handler_invoke_helpers.hpp:39: instantiated from ‘void asio_handler_invoke_helpers::invoke(const Function&amp;, Context*) [with Function = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, int&gt;, Context = boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;]’ /usr/include/asio/detail/bind_handler.hpp:129: instantiated from ‘void asio::detail::asio_handler_invoke(const Function&amp;, asio::detail::binder2&lt;Handler, Arg1, Arg2&gt;*) [with Function = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, int&gt;, Handler = boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, Arg1 = asio::error_code, Arg2 = int]’ /usr/include/asio/detail/handler_invoke_helpers.hpp:39: instantiated from ‘void asio_handler_invoke_helpers::invoke(const Function&amp;, Context*) [with Function = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, int&gt;, Context = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, int&gt;]’ /usr/include/asio/detail/handler_queue.hpp:191: instantiated from ‘static void asio::detail::handler_queue::handler_wrapper&lt;Handler&gt;::do_call(asio::detail::handler_queue::handler*) [with Handler = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, int&gt;]’ /usr/include/asio/detail/handler_queue.hpp:171: instantiated from ‘asio::detail::handler_queue::handler_wrapper&lt;Handler&gt;::handler_wrapper(Handler) [with Handler = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, int&gt;]’ /usr/include/asio/detail/handler_alloc_helpers.hpp:137: instantiated from ‘asio::detail::handler_ptr&lt;Alloc_Traits&gt;::handler_ptr(asio::detail::raw_handler_ptr&lt;Alloc_Traits&gt;&amp;, Arg1&amp;) [with Arg1 = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, int&gt;, Alloc_Traits = asio::detail::handler_alloc_traits&lt;asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, int&gt;, asio::detail::handler_queue::handler_wrapper&lt;asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, int&gt; &gt; &gt;]’ /usr/include/asio/detail/handler_queue.hpp:116: instantiated from ‘static asio::detail::handler_queue::handler* asio::detail::handler_queue::wrap(Handler) [with Handler = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, int&gt;]’ /usr/include/asio/detail/task_io_service.hpp:190: instantiated from ‘void asio::detail::task_io_service&lt;Task&gt;::post(Handler) [with Handler = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, int&gt;, Task = asio::detail::epoll_reactor&lt;false&gt;]’ /usr/include/asio/impl/io_service.ipp:125: instantiated from ‘void asio::io_service::post(Handler) [with CompletionHandler = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, int&gt;]’ /usr/include/asio/detail/reactive_socket_service.hpp:1390: instantiated from ‘void asio::detail::reactive_socket_service&lt;Protocol, Reactor&gt;::async_receive_from(asio::detail::reactive_socket_service&lt;Protocol, Reactor&gt;::implementation_type&amp;, const MutableBufferSequence&amp;, typename Protocol::endpoint&amp;, int, Handler) [with MutableBufferSequence = asio::mutable_buffers_1, Handler = boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, Protocol = asio::ip::udp, Reactor = asio::detail::epoll_reactor&lt;false&gt;]’ /usr/include/asio/datagram_socket_service.hpp:310: instantiated from ‘void asio::datagram_socket_service&lt;Protocol&gt;::async_receive_from(typename asio::detail::reactive_socket_service&lt;Protocol, asio::detail::epoll_reactor&lt;false&gt; &gt;::implementation_type&amp;, const MutableBufferSequence&amp;, typename Protocol::endpoint&amp;, int, ReadHandler) [with MutableBufferSequence = asio::mutable_buffers_1, ReadHandler = boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, Protocol = asio::ip::udp]’ /usr/include/asio/basic_datagram_socket.hpp:756: instantiated from ‘void asio::basic_datagram_socket&lt;Protocol, DatagramSocketService&gt;::async_receive_from(const MutableBufferSequence&amp;, typename Protocol::endpoint&amp;, ReadHandler) [with MutableBufferSequence = asio::mutable_buffers_1, ReadHandler = boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, Protocol = asio::ip::udp, DatagramSocketService = asio::datagram_socket_service&lt;asio::ip::udp&gt;]’ ../src/msgSrv/msgSrv.cpp:37: instantiated from here /usr/include/boost/bind.hpp:348: error: no match for call to ‘(boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;) (msgSrv::msgSrv*&amp;, asio::error_code&amp;, int&amp;)’ /usr/include/boost/bind/mem_fn_template.hpp:272: note: candidates are: R boost::_mfi::mf2&lt;R, T, A1, A2&gt;::operator()(T*, A1, A2) const [with R = void, T = msgSrv::msgSrv, A1 = boost::system::error_code&amp;, A2 = unsigned int] /usr/include/boost/bind/mem_fn_template.hpp:291: note: R boost::_mfi::mf2&lt;R, T, A1, A2&gt;::operator()(T&amp;, A1, A2) const [with R = void, T = msgSrv::msgSrv, A1 = boost::system::error_code&amp;, A2 = unsigned int] /usr/include/boost/bind.hpp: In member function ‘void boost::_bi::list3&lt;A1, A2, A3&gt;::operator()(boost::_bi::type&lt;void&gt;, F&amp;, A&amp;, int) [with F = boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, A = boost::_bi::list2&lt;asio::error_code&amp;, unsigned int&amp;&gt;, A1 = boost::_bi::value&lt;msgSrv::msgSrv*&gt;, A2 = boost::arg&lt;1&gt; (*)(), A3 = boost::arg&lt;2&gt; (*)()]’: /usr/include/boost/bind/bind_template.hpp:61: instantiated from ‘typename boost::_bi::result_traits&lt;R, F&gt;::type boost::_bi::bind_t&lt;R, F, L&gt;::operator()(A1&amp;, A2&amp;) [with A1 = asio::error_code, A2 = unsigned int, R = void, F = boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, L = boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt;]’ /usr/include/asio/detail/bind_handler.hpp:95: instantiated from ‘void asio::detail::binder2&lt;Handler, Arg1, Arg2&gt;::operator()() [with Handler = boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, Arg1 = asio::error_code, Arg2 = unsigned int]’ /usr/include/asio/handler_invoke_hook.hpp:62: instantiated from ‘void asio::asio_handler_invoke(Function, ...) [with Function = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, unsigned int&gt;]’ /usr/include/asio/detail/handler_invoke_helpers.hpp:39: instantiated from ‘void asio_handler_invoke_helpers::invoke(const Function&amp;, Context*) [with Function = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, unsigned int&gt;, Context = boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;]’ /usr/include/asio/detail/bind_handler.hpp:129: instantiated from ‘void asio::detail::asio_handler_invoke(const Function&amp;, asio::detail::binder2&lt;Handler, Arg1, Arg2&gt;*) [with Function = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, unsigned int&gt;, Handler = boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, Arg1 = asio::error_code, Arg2 = unsigned int]’ /usr/include/asio/detail/handler_invoke_helpers.hpp:39: instantiated from ‘void asio_handler_invoke_helpers::invoke(const Function&amp;, Context*) [with Function = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, unsigned int&gt;, Context = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, unsigned int&gt;]’ /usr/include/asio/detail/handler_queue.hpp:191: instantiated from ‘static void asio::detail::handler_queue::handler_wrapper&lt;Handler&gt;::do_call(asio::detail::handler_queue::handler*) [with Handler = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, unsigned int&gt;]’ /usr/include/asio/detail/handler_queue.hpp:171: instantiated from ‘asio::detail::handler_queue::handler_wrapper&lt;Handler&gt;::handler_wrapper(Handler) [with Handler = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, unsigned int&gt;]’ /usr/include/asio/detail/handler_alloc_helpers.hpp:137: instantiated from ‘asio::detail::handler_ptr&lt;Alloc_Traits&gt;::handler_ptr(asio::detail::raw_handler_ptr&lt;Alloc_Traits&gt;&amp;, Arg1&amp;) [with Arg1 = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, unsigned int&gt;, Alloc_Traits = asio::detail::handler_alloc_traits&lt;asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, unsigned int&gt;, asio::detail::handler_queue::handler_wrapper&lt;asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, unsigned int&gt; &gt; &gt;]’ /usr/include/asio/detail/handler_queue.hpp:116: instantiated from ‘static asio::detail::handler_queue::handler* asio::detail::handler_queue::wrap(Handler) [with Handler = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, unsigned int&gt;]’ /usr/include/asio/detail/task_io_service.hpp:190: instantiated from ‘void asio::detail::task_io_service&lt;Task&gt;::post(Handler) [with Handler = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, unsigned int&gt;, Task = asio::detail::epoll_reactor&lt;false&gt;]’ /usr/include/asio/impl/io_service.ipp:125: instantiated from ‘void asio::io_service::post(Handler) [with CompletionHandler = asio::detail::binder2&lt;boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), boost::arg&lt;2&gt; (*)()&gt; &gt;, asio::error_code, unsigned int&gt;]’ /usr/include/asio/detail/reactive_socket_service.hpp:1353: instantiated from ‘void asio::detail::reactive_socket_service&lt;Protocol, Reactor&gt;::receive_from_operation&lt;MutableBufferSequence, Handler&gt;::complete(const asio::error_code&amp;, size_t) [with MutableBufferSequence = asio::mutable_buffers_1, Handler = boost::_bi::bind_t&lt;void, boost::_mfi::mf2&lt;void, msgSrv::msgSrv, boost::system::error_code&amp;, unsigned int&gt;, boost::_bi::list3&lt;boost::_bi::value&lt;msgSrv::msgSrv*&gt;, boost::arg&lt;1&gt; (*)(), </code></pre> <p>...and so on. I really don't know what to do since I can't understand what the error is about!</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload