I was able to compile the following code with gcc:
template<typename... Pack>
auto func(Pack... x) {
return (x + ...) ;
}
template<typename... Pack>
auto lamd = [](Pack... x) {
return (x + ...) ;
};
I can invoke the function template with func(1,2,3), but I get an error when invoking a the lambda, with lamd(1,2,3) or lamd<int>(1,2,3).