C++ で std::array の参照を、同じ要素型でより小さなサイズのものにキャストすることって規格上許されてるんですかね。実際上はだいたいうまくいく気はするんですが。
つまり、 template <size_t dim> (なお dim > 1)として、
std::array<T, dim> &coord を std::array<T, dim-1>& に変換できますか? #cpp
念のため static_cast<std::array<T, dim-1>&>(coord) したらもちろん怒られたので、もし許されているなら reinterpret_cast 使うことになるんですけど
std::array の内部レイアウトについて言及があるか規格を確認すればいいのかな
なんか普通に引数として T arr[dim] を受け取るのが無難な気がしてきた (この記法きらい)