Мне нужно выполнить следующую задачу:
template< size_t... N_i >
class A
{
// ...
};
template< size_t N, size_t... N_i >
A</* first N elements of N_i...*/> foo()
{
A</* first N elements of N_i...*/> a;
// ...
return a;
}
int main()
{
A<1,2> res = foo<2, 1,2,3,4>();
return 0;
}
Здесь я хочу, чтобы foo
имел тип возврата A</* first N size_t of N_i...*/>
, т.е. class A
, который имеет в качестве аргументов шаблона первые N элементов пакета параметров N_i
.
Кто-нибудь знает, как это можно реализовать?