В чем разница между следующими 3 вызовами функции gun
?
template <class... Ts> void fun(Ts... vs) {
gun(A<Ts...>::hun(vs)...);
gun(A<Ts...>::hun(vs...));
gun(A<Ts>::hun(vs)...);
}
Мне интересен ответ, объясняющий три вызова с использованием конкретного примера.