
On 07/22/10 04:20, Steve Lorimer wrote: [snip]
3. In attached file "attempt_2.cpp" at Line 27, there's a struct cb_ with a typedef "type" of the member function pointer of the form T::fn(Args...).
template< class T, class... Args > struct cb_ { typedef void (T::*type)(Args...); };
[snip] The attached revision of attempt_2.cpp compiles. The revisions involved adding args to func::call and rm'ing the struct cb_ and just using the typedef expression directly in make_function_helper. I *guess* (emphasis on "guess") the problem is using: cb_<T,Args...>::type is something called non-deduced context. Try googling that phrase or look for it in the standard or wait for someone else on this list (David Abraham did that for me years ago) to confirm this diagnosis. HTH. -Larry