L'exemple absurde suivant ne se compile pas, mais existe-t-il un autre moyen de passer un modèle de variable comme argument de modèle de modèle?
template<typename T>
constexpr auto zero = T{0};
template<typename T, template<typename> auto VariableTemplate>
constexpr auto add_one()
{
return VariableTemplate<T> + T{1};
}
int main()
{
return add_one<int, zero>();
}
value<T>
cela signifierait? Une référence à la variable globale? En outre, vous ne pouvez pas utiliser ODR de paramètre de modèle non-type, mais vous pouvez le faire avec un modèle global.