Я хотел бы вызвать функцию, которая возвращает тип void
для каждого значения 'integer_sequence'.Я пытался использовать фигурные списки инициализаторов и выражения складывания, но, по понятным причинам, ни компилировать.Есть ли способ достичь этого без написания рекурсивной функции?
#include <utility>
#include <iostream>
using namespace std;
void foo(int i) { std::cout << i << "\n"; }
template <int...Is>
void fooN(const std::integer_sequence<int, Is...>&&)
{
// call in sequence: foo(0), foo(1), ..., foo(N-1)
// void dummy[] = { foo(Is)... }; // use braced initializer list: does not compile
// (foo(Is)),...; // use fold expressions: does not compile
}
int main()
{
fooN(std::make_integer_sequence<int, 8>{});
return 0;
}