Das folgende unsinnige Beispiel wird nicht kompiliert. Gibt es jedoch eine andere Möglichkeit, eine Variablenvorlage als Vorlagenvorlagenargument zu übergeben?
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>();
}
c++
templates
c++14
template-templates
variable-templates
invexiert
quelle
quelle
value<T>
das bedeuten? Ein Verweis auf die globale Variable? Sie können ODR auch nicht als Nicht-Typ-Vorlagenparameter verwenden, sondern mit einer globalen Vorlage.