In file included from scratch.cpp:1: In file included from /usr/include/boost/signals2/signal.hpp:38: In file included from /usr/include/boost/signals2/variadic_signal.hpp:21: /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:81:18: error: call to member function 'm_invoke' is ambiguous return m_invoke(resolver, func, indices_type(), args); ^~~~~~~~ /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:117:18: note: in instantiation of function template specialization 'boost::signals2::detail::call_with_tuple_args::operator(), , 0>' requested here return call_with_tuple_args()(connectionBody->slot.slot_function(), _args, mpl::size_t()); ^ /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:109:18: note: in instantiation of function template specialization 'boost::signals2::detail::variadic_slot_invoker::m_invoke >, boost::signals2::slot >, boost::signals2::mutex> > >' requested here return m_invoke(connectionBody, ^ /usr/include/boost/signals2/detail/slot_call_iterator.hpp:82:35: note: in instantiation of function template specialization 'boost::signals2::detail::variadic_slot_invoker::operator() >, boost::signals2::slot >, boost::signals2::mutex> > >' requested here cache->result.reset(cache->f(*iter)); ^ /usr/include/boost/iterator/iterator_facade.hpp:514:20: note: in instantiation of member function 'boost::signals2::detail::slot_call_iterator_t, std::_List_iterator >, boost::signals2::slot >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot >, boost::signals2::mutex> >::dereference' requested here return f.dereference(); ^ /usr/include/boost/iterator/iterator_facade.hpp:639:18: note: in instantiation of function template specialization 'boost::iterator_core_access::dereference, std::_List_iterator >, boost::signals2::slot >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot >, boost::signals2::mutex> > >' requested here return iterator_core_access::dereference(this->derived()); ^ /usr/include/boost/signals2/optional_last_value.hpp:55:13: note: in instantiation of member function 'boost::iterator_facade, std::_List_iterator >, boost::signals2::slot >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot >, boost::signals2::mutex> >, boost::signals2::detail::void_type, boost::single_pass_traversal_tag, const boost::signals2::detail::void_type &, int>::operator*' requested here *first; ^ /usr/include/boost/signals2/detail/result_type_wrapper.hpp:64:11: note: in instantiation of function template specialization 'boost::signals2::optional_last_value::operator(), std::_List_iterator >, boost::signals2::slot >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot >, boost::signals2::mutex> > >' requested here combiner(first, last); ^ /usr/include/boost/signals2/detail/signal_template.hpp:241:18: note: in instantiation of function template specialization 'boost::signals2::detail::combiner_invoker::operator(), boost::signals2::detail::slot_call_iterator_t, std::_List_iterator >, boost::signals2::slot >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body >, boost::signals2::slot >, boost::signals2::mutex> > >' requested here return detail::combiner_invoker() ^ /usr/include/boost/signals2/detail/signal_template.hpp:695:16: note: in instantiation of member function 'boost::signals2::detail::signal_impl, int, std::less, boost::function, boost::function, boost::signals2::mutex>::operator()' requested here return (*_pimpl)(BOOST_SIGNALS2_SIGNATURE_ARG_NAMES(BOOST_SIGNALS2_NUM_ARGS)); ^ scratch.cpp:6:6: note: in instantiation of member function 'boost::signals2::signal, int, std::less, boost::function, boost::function, boost::signals2::mutex>::operator()' requested here s(); ^ /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:85:13: note: candidate function [with T = void, Func = boost::function, indices = <>, Args = <>] R m_invoke(T *, Func &func, unsigned_meta_array, BOOST_SIGNALS2_TUPLE args) const ^ /usr/include/boost/signals2/detail/variadic_slot_invoker.hpp:90:13: note: candidate function [with Func = boost::function, indices = <>, Args = <>] R m_invoke(void *, Func &func, unsigned_meta_array, BOOST_SIGNALS2_TUPLE args) const ^ 1 error generated.