Всем добрый день. У меня есть такой код:
template <typename T>
void foo(T value) {
return;
}
template<typename T, typename... Args>
void foo(T value, Args... arg)
{
std::cout << sizeof(value) << " | ";
foo(arg...);
}
int main()
{
MyClass a;//объект какого то класса
foo(89.8, a, 234.2,3,'a',0);
return 0;
}
Я вызываю функцию foo в main один раз , она в свое время вызывает другую функцию foo передав туда пакет параметров которая ничего не делает и сразу прекращает свое действие. Тем временем она(foo у которой в аргументах пакет параметров ) выводит не 1 переменную из пакета параметров а все кроме последней, объясните пожалуйста почему так?