The below code compiles fine with gcc and clang but gives this error with icc 2016:
main.cpp(11): error: parameter pack "IX2" was referenced but not expanded
KA(const A<IX2>&... ax) {
^
compilation aborted for main.cpp (code 2)
template<int I>
struct A {};
template<int... IX>
struct KA {
template<int... IX2>
KA(const A<IX2>&... ax) {
}
};
int main() {
return 0;
}