Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
次元が異なる可能性のある std::array を受け入れるにはどうすればよいですか? これはコンパイル時にわかるはずですが、以下は機能しません
template<int n> void read_interval(size_t start, size_t end, std::array<n, char>& dest)
また、 end-start == n であることも知っているので、何らかの形でテンプレート化される可能性があります。
あなたがしたように、サイズ引数をテンプレート化する必要があります。テンプレートパラメータの順序を入れ替えた場合を除いて、std::arrayそれが機能しない理由です。
std::array