#include <utility>
#include <array>
#include <cstddef>
#include <iostream>

template<class T, std::size_t N> struct ArrayWrapper
{
	std::array<T,N> arr;
	ArrayWrapper(T &&... init) : arr{{std::forward<T>(init)...}} {}
}

int main()
{
   ArrayWrapper<int, 4> aw{{1,2,3,4}};
   std::cout << aw.arr[2] << '\n';
}
