1>------ Build started: Project: Project1, Configuration: Debug Win32 ------ 1> Source.cpp 1>c:\lib\boost_1_60_0\boost\variant\variant.hpp(1540): error C2665: 'boost::detail::variant::make_initializer_node::apply::initializer_node::initialize': none of the 3 overloads could convert all the argument types 1> with 1> [ 1> T1=boost::mpl::pair>, 1> T2=boost::mpl::l_iter> 1> ] 1> c:\lib\boost_1_60_0\boost\variant\detail\initializer.hpp(115): note: could be 'int boost::detail::variant::make_initializer_node::apply::initializer_node::initialize(void *,int &&)' 1> with 1> [ 1> T1=boost::mpl::pair>, 1> T2=boost::mpl::l_iter> 1> ] 1> c:\lib\boost_1_60_0\boost\variant\detail\initializer.hpp(104): note: or 'int boost::detail::variant::make_initializer_node::apply::initializer_node::initialize(void *,const int &)' 1> with 1> [ 1> T1=boost::mpl::pair>, 1> T2=boost::mpl::l_iter> 1> ] 1> c:\lib\boost_1_60_0\boost\variant\variant.hpp(1540): note: while trying to match the argument list '(void *, std::tuple)' 1> c:\lib\boost_1_60_0\boost\variant\variant.hpp(1692): note: see reference to function template instantiation 'void boost::variant::convert_construct(T &,int,boost::mpl::false_)' being compiled 1> with 1> [ 1> T=std::tuple 1> ] 1> c:\lib\boost_1_60_0\boost\variant\variant.hpp(1692): note: see reference to function template instantiation 'void boost::variant::convert_construct(T &,int,boost::mpl::false_)' being compiled 1> with 1> [ 1> T=std::tuple 1> ] 1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\tuple(142): note: see reference to function template instantiation 'boost::variant::variant>(T &)' being compiled 1> with 1> [ 1> T=std::tuple 1> ] 1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\tuple(141): note: see reference to function template instantiation 'boost::variant::variant>(T &)' being compiled 1> with 1> [ 1> T=std::tuple 1> ] 1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\tuple(475): note: see reference to function template instantiation 'std::_Tuple_val<_This>::_Tuple_val&>(_Other)' being compiled 1> with 1> [ 1> _This=const foo &, 1> _Other=std::tuple & 1> ] 1> c:\program files (x86)\microsoft visual studio 14.0\vc\include\tuple(474): note: see reference to function template instantiation 'std::_Tuple_val<_This>::_Tuple_val&>(_Other)' being compiled 1> with 1> [ 1> _This=const foo &, 1> _Other=std::tuple & 1> ] 1> c:\lib\boost_1_60_0\boost\signals2\detail\variadic_slot_invoker.hpp(90): note: see reference to function template instantiation 'std::tuple::tuple&,,0>(_This2)' being compiled 1> with 1> [ 1> _This2=std::tuple & 1> ] 1> c:\lib\boost_1_60_0\boost\signals2\detail\variadic_slot_invoker.hpp(90): note: see reference to function template instantiation 'std::tuple::tuple&,,0>(_This2)' being compiled 1> with 1> [ 1> _This2=std::tuple & 1> ] 1> c:\lib\boost_1_60_0\boost\signals2\detail\variadic_slot_invoker.hpp(134): note: see reference to function template instantiation 'R boost::signals2::detail::call_with_tuple_args::operator (),const foo&,1>(Func &,std::tuple,boost::mpl::size_t<1>) const' being compiled 1> with 1> [ 1> R=boost::signals2::detail::void_type, 1> Signature=void (const foo &), 1> Func=boost::function 1> ] 1> c:\lib\boost_1_60_0\boost\signals2\detail\variadic_slot_invoker.hpp(133): note: see reference to function template instantiation 'R boost::signals2::detail::call_with_tuple_args::operator (),const foo&,1>(Func &,std::tuple,boost::mpl::size_t<1>) const' being compiled 1> with 1> [ 1> R=boost::signals2::detail::void_type, 1> Signature=void (const foo &), 1> Func=boost::function 1> ] 1> c:\lib\boost_1_60_0\boost\signals2\detail\slot_call_iterator.hpp(109): note: see reference to function template instantiation 'boost::signals2::detail::void_type boost::signals2::detail::variadic_slot_invoker::operator ()>,boost::signals2::slot>,Mutex>>>(const ConnectionBodyType &) const' being compiled 1> with 1> [ 1> Group=int, 1> R=void, 1> Signature=void (const foo &), 1> Mutex=boost::signals2::mutex, 1> ConnectionBodyType=boost::shared_ptr>,boost::signals2::slot>,boost::signals2::mutex>> 1> ] 1> c:\lib\boost_1_60_0\boost\signals2\detail\slot_call_iterator.hpp(109): note: see reference to function template instantiation 'boost::signals2::detail::void_type boost::signals2::detail::variadic_slot_invoker::operator ()>,boost::signals2::slot>,Mutex>>>(const ConnectionBodyType &) const' being compiled 1> with 1> [ 1> Group=int, 1> R=void, 1> Signature=void (const foo &), 1> Mutex=boost::signals2::mutex, 1> ConnectionBodyType=boost::shared_ptr>,boost::signals2::slot>,boost::signals2::mutex>> 1> ] 1> c:\lib\boost_1_60_0\boost\signals2\detail\slot_call_iterator.hpp(105): note: while compiling class template member function 'boost::signals2::detail::void_type &boost::signals2::detail::slot_call_iterator_t,std::_List_iterator>,boost::signals2::slot>,Mutex>>>>>,boost::signals2::detail::connection_body>,boost::signals2::slot>,Mutex>>::dereference(void) const' 1> with 1> [ 1> Group=int, 1> R=void, 1> Signature=void (const foo &), 1> Mutex=boost::signals2::mutex 1> ] 1> c:\lib\boost_1_60_0\boost\iterator\iterator_facade.hpp(549): note: see reference to function template instantiation 'boost::signals2::detail::void_type &boost::signals2::detail::slot_call_iterator_t,std::_List_iterator>,boost::signals2::slot>,Mutex>>>>>,boost::signals2::detail::connection_body>,boost::signals2::slot>,Mutex>>::dereference(void) const' being compiled 1> with 1> [ 1> Group=int, 1> R=void, 1> Signature=void (const foo &), 1> Mutex=boost::signals2::mutex 1> ] 1> c:\lib\boost_1_60_0\boost\signals2\detail\signal_template.hpp(244): note: see reference to class template instantiation 'boost::signals2::detail::slot_call_iterator_t,std::_List_iterator>,boost::signals2::slot>,Mutex>>>>>,boost::signals2::detail::connection_body>,boost::signals2::slot>,Mutex>>' being compiled 1> with 1> [ 1> Group=int, 1> R=void, 1> Signature=void (const foo &), 1> Mutex=boost::signals2::mutex 1> ] 1> c:\lib\boost_1_60_0\boost\signals2\detail\signal_template.hpp(226): note: while compiling class template member function 'void boost::signals2::detail::signal_impl::operator ()(const foo &)' 1> with 1> [ 1> R=void, 1> Combiner=boost::signals2::optional_last_value, 1> Group=int, 1> GroupCompare=std::less, 1> SlotFunction=boost::function, 1> ExtendedSlotFunction=boost::function, 1> Mutex=boost::signals2::mutex 1> ] 1> c:\lib\boost_1_60_0\boost\signals2\detail\signal_template.hpp(723): note: see reference to function template instantiation 'void boost::signals2::detail::signal_impl::operator ()(const foo &)' being compiled 1> with 1> [ 1> R=void, 1> Combiner=boost::signals2::optional_last_value, 1> Group=int, 1> GroupCompare=std::less, 1> SlotFunction=boost::function, 1> ExtendedSlotFunction=boost::function, 1> Mutex=boost::signals2::mutex 1> ] 1> c:\lib\boost_1_60_0\boost\signals2\detail\signal_template.hpp(614): note: see reference to class template instantiation 'boost::signals2::detail::signal_impl' being compiled 1> with 1> [ 1> R=void, 1> Combiner=boost::signals2::optional_last_value, 1> Group=int, 1> GroupCompare=std::less, 1> SlotFunction=boost::function, 1> ExtendedSlotFunction=boost::function, 1> Mutex=boost::signals2::mutex 1> ] 1> c:\users\gmarcano\documents\visual studio 2015\projects\project1\source.cpp(8): note: see reference to class template instantiation 'boost::signals2::signal,int,std::less,boost::function,boost::function,boost::signals2::mutex>' being compiled 1> with 1> [ 1> Group=int, 1> Signature=void (const foo &), 1> R=void 1> ] ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========