How can I create an array from the parameter pack?
template<typename T, typename... Tpack>
void covert(Tpack ...pack){
T *arr = new T[???]; //TODO: how to get Tpack size?
// TODO: how to fill array?
}
You might do:
template<typename T, typename... Tpack>
void covert(Tpack ...pack){
T *arr = new T[sizeof...(Tpack)]{pack...};
// ...
delete[] arr;
}
but your function is strange as-is.
std::tuple
might be more appropriate, or change input parameter to std::initializer_list<T>
or std::array<T, N>
.