4 Jul 03:13
Re: [Boost.Bind] Adding a single argument to an existing function, breaks the code.
Steven Watanabe <watanabesj <at> gmail.com>
2008-07-04 01:13:53 GMT
2008-07-04 01:13:53 GMT
AMDG Vjekoslav Brajkovic wrote: > I've reproduced the output. Apparently, all of the outputs are the same. Hmm. Interesting. > I've added the code with the following results: > > ---------------------------------------------------------------------- > ../intercom/com_client.cpp:40: error: no matching function for call to > ‘assertion_failed(mpl_::failed************ > boost::is_same<boost::_mfi::mf3<void, com_client, command_t, > const boost::system::error_code&, > boost::asio::ip::basic_resolver_iterator<boost::asio::ip::tcp> > >, void>::************)’ > ---------------------------------------------------------------------- > > Since I am not familiar with static assertion macros, I have no clue why > it is complaining about 'no matching function for call'. The point was to produce an error message that contains the type: boost::_mfi::mf3<void, com_client, command_t, const boost::system::error_code&, boost::asio::ip::basic_resolver_iterator<boost::asio::ip::tcp> > This is the correct type, so I have no idea what's going on. Do you have a complete program that you can post which reproduces the error? Also, what version of gcc are you using? One more thing to try: BOOST_MPL_ASSERT((boost::is_same<__typeof__(boost::bind( &com_client::handle_connect, this, 2, boost::asio::placeholders::error, ++endpoint_iterator)), void>)) ; In Christ, Steven Watanabe
RSS Feed