7
C ++で再帰的に整数のテンプレートパラメーターを一致させることは可能ですか?
次の問題があります。N次元ベクトルを次のように定義します #include <vector> #include <utility> #include <string> template <int N, typename T> struct NVector{ typedef std::vector<typename NVector<N-1,T>::type> type; }; template <typename T> struct NVector<1,T> { typedef std::vector<T> type; }; ネストされたベクトルのリーフ要素をいくら深くても変換でき、同じ形状の新しいネストされたベクトルを返す、より高次の関数マップを書きたいと思います。私が試してみました template <int N, typename T, typename Mapper> struct MapResult { typedef decltype ( (std::declval<Mapper>()) (std::declval<T>()) ) basic_type; typedef typename NVector<N, …