Beman Dawes <bdawes <at> acm.org> writes:
Yes, signals2 does have multiple different code paths for variadics. The
problem is apparently that it should be testing for more
than BOOST_NO_CXX11_VARIADIC_TEMPLATES, but we don't yet know exactly what
more. Suggestions have been expression SFINAE or a decltype issue.
The problem seems to be somewhere in the constructor of boost::signals2::slot. The code which led to compile errors was: boost::signals2::signal<void (const std::wstring &, int)> mySignal; mySignal.connect(boost::bind(&SomeMemberFunction, this, _1, _2)); Changing it to the following code compiles: boost::signals2::signal<void (const std::wstring &, int)> mySignal; boost::signals2::slot<void (const std::wstring&, int), boost::function<void (const std::wstring&, int)>> mySlot(&SomeMemberfunction, this, _1, _2);