The following code compiles fine with gcc and clang but fails with icc
template<class... T> void f(T... args) { auto lambda = [&](auto func) { return func(args...); }; } int main() { f(3, 7, 2); return 0; }
icc gives this error:
main.cpp(4): error: pack expansion does not make use of any argument packs
return func(args...);
^
detected during instantiation of "void f(T...) [with T=<int, int, int>]" at line 9
compilation aborted for main.cpp (code 2)