バリエーションテンプレートパラメータにタイプと非タイプを混在させることはできますか? std::array
をこのクラスにパラメータT
として渡す場合は、配列の型と長さも渡す必要がありますが、以下で試した方法では値に遭遇したときにエラーが発生しますTypes
用タイプ:バリエーションテンプレートパラメータの型と型の混在?
template <
template<class, std::size_t> class T,
class ... Types>
class C {
T<Types...> storage;
};
int main(){
C<std::array, int, 3> c;
}
エラーメッセージ:
error: template argument for template type parameter must be a
type
Container<std::array, int, 3> c;
^
可変引数のコンテキストでタイプと値を渡す方法はありますか?