バージョンはC++17です。
前提
以下のようにテンプレート引数を複数持つようなクラスは、可変長テンプレートテンプレートパラメータを用いて受け取ることができます。
C++
1template <class T, class U, class V> 2struct A {}; 3 4template <template <class...> class TT> 5void test0() {} 6 7int main() { 8 test0<A>(); 9}
一方で、非型テンプレート引数を複数持つようなクラスは、autoを用いて以下のように受け取ることができます。
C++
1template <int i, size_t j, char k> 2struct B {}; 3 4template <template <auto...> class TT> 5void test1() {} 6 7int main() { 8 test1<B>(); 9}
質問
同様にして、普通のテンプレート引数と非型テンプレート引数が混在しているクラス一般(例えばstd::array)をテンプレートテンプレートパラメータで受け取ることはできますか?
C++
1template <int i, class T, class U, int j> 2struct C {}; 3 4template <template < ??????? > class TT> 5void test2() {} 6 7int main() { 8 test2<C>(); 9}
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。