Expansão variável do pacote de modelos

Estou tentando aprender modelos e funções variados. Não consigo entender por que esse código não compila:

template<typename T>
static void bar(T t) {}

template<typename... Args>
static void foo2(Args... args)
{
    (bar(args)...);
}

int main()
{
    foo2(1, 2, 3, "3");
    return 0;    
}

Quando eu compilar, ele falha com o erro:

Erro C3520: 'args': o pacote de parâmetros deve ser expandido nesse contexto

(em funçãofoo2)

questionAnswers(7)

yourAnswerToTheQuestion