Like you have noticed, std::array has no constructors at all (except for the compiler generated default constructor).
This was done on purpose, so it can be statically initialized just like a C array. If you want to fill the array without a static initializer, you will have to copy your data.