On Fri, Oct 18, 2013 at 10:00 AM, Peter Dimov
Marcel Raad wrote:
Sorry, I just noticed that I only get compile errors if I call boost::signals2::signal<>::**connect with the result of boost::bind, so the problem indeed seems to be boost::signals2.
I get the following errors:
[...]
These errors are, I think, caused by trying to call something like boost::bind( f, _1 ) (which needs an argument) with an empty argument list, but without more information about the source line causing the errors, I can't be sure.
I don't know why these only appear when BOOST_NO_CXX11_VARIADIC_TEMPLATES is not defined. Perhaps Signals2 has a different code path for variadic templates? Or perhaps your code does something different when BOOST_NO_CXX11_VARIADIC_TEMPLATES is not defined?
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. --Beman