I am not sure if the title makes much sense, but the example is actually quite staightforward:
// A converter struct with a generic constructor.
template
This is not the solution, but might help you or others to figure out what the problem is. The following compiles:
template class TT>
struct converter2
{
template
converter2(const TT &);
};
// ...
converter2(foo_variadic2{});
I have to admit I don't understand why this is necessary and why your code doesn't work.