Est-il possible de mélanger les types et les non-types dans les paramètres de modèles variadiques ? Si je passe un std::array
par exemple à cette classe comme paramètre T
je devrais également passer un type pour le tableau et une longueur, mais la façon dont j'ai essayé ci-dessous provoque une erreur lorsque je rencontre une valeur, parce qu'elle n'attend que les types pour Types
:
template <
template<class, std::size_t> class T,
class ... Types>
class C {
T<Types...> storage;
};
int main(){
C<std::array, int, 3> c;
}
Message d'erreur :
error: template argument for template type parameter must be a
type
Container<std::array, int, 3> c;
^
Existe-t-il un moyen de transmettre des types et des valeurs dans un contexte variadique ?