0
As an alternative, even if the element type is not default-constructible, you can still initialize a buffer of uninitialized memory, and create a std::array from that using std::to_array and a pointer cast. Be warned: The elements of the temporary array are not destructed after being moved from! ...