Wariacyjny szablon funkcji z rozszerzeniem pakietu nie w ostatnim parametrze

Zastanawiam się, dlaczego poniższy kod się nie kompiluje:

struct S
{
    template <typename... T>
    S(T..., int);
};

S c{0, 0};

Kod ten nie kompiluje się zarówno z clangiem, jak i GCC 4.8. Oto błąd z clang:

test.cpp:7:3: error: no matching constructor for initialization of 'S'
S c{0, 0};
  ^~~~~~~
test.cpp:4:5: note: candidate constructor not viable: requires 1 argument, but 2 were provided
    S(T..., int);
    ^

Wydaje mi się, że to powinno działać, a T należy wywnioskować, że jest to paczka długości 1.

Jeśli standardy zabraniają takich rzeczy, czy ktoś wie dlaczego?

questionAnswers(4)

yourAnswerToTheQuestion