Hello,
that seems like a bug. I've filed a defect (DPD200239284) and let you know about the progress.
In your example above, it would be better to use this instead
template
int g(Args...)
{ return sizeof...(Args); }
...to not get the warning. But I agree, using the identifier of the parameter pack (args) instead has to work as well.
Best regards,
Georg Zitzlsberger





Incorrect remark about function parameter pack
Compiling
template<class... Args> int g(Args... args) { return sizeof...(args); } int main() { g(1); g(1, 2); g(1, 2, 3); }with
results in
Note that the first two instantiations of g() do not produce the remark.
This is happening with ICC Version 13.0.1.119 Build 20121008 and older versions.