https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104343
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> --- Clang gives: x.C:11:3: error: no matching function for call to 'Sprint' Sprint("B: off=", 2, " now=", 3, endl); ^~~~~~ x.C:5:13: note: candidate template ignored: substitution failure: deduced incomplete pack <char const (&)[8], int, char const (&)[6], int, (no value)> for template parameter 'Args' inline void Sprint(Args&&... args) ^ 1 error generated. The "(no value)" is the clue here. EDG says: "x.C", line 11: error: no instance of function template "Sprint" matches the argument list argument types are: (const char [8], int, const char [6], int, <unknown-type>) Sprint("B: off=", 2, " now=", 3, endl); ^ 1 error detected in the compilation of "x.C". I'm surprised GCC doesn't say "<unresolved overloaded function type>"