First of all, it is not std::array, it is std::array where N is compile time constant integral expression.
Second, std::array is made aggregate by design. So it doesn't have anything which makes it non-aggregate, which is why it doesn't have constructor... and destructor, virtual functions, etc.