Ich versuche, eine Funktion mithilfe von Vorlagen zu definieren, und möchte, dass der Typname entweder int oder anEnum ist (eine bestimmte Aufzählung, die ich definiert habe). Ich habe Folgendes versucht, bin aber gescheitert:
template <int | anEnum T> // or <int T, anEnum T> or <int, anEnum T>
bool isFunction(const T &aVariable){}
Ich versuche, Vorlagen zu verwenden, anstatt zwei überladene Funktionen zu definieren. Ich würde es vorziehen, wenn die Funktion wie folgt aufgerufen würde, ohne dass der Programmierer den Typ berücksichtigen müsste
isFunction(aVariable) // and not isFunction<int> (aVariable) nor isFunction<anEnum> (aVariable)
Grundsätzlich möchte ich, dass diese Funktion für int- und aNum-Typen als Vorlage verwendet wird. Ich habe danach gesucht, konnte aber keine Antwort finden. Was kann ich vermissen? Vielen Dank,
false
für andere Typen zurückkehren oder die Funktion für andere Typen nicht instanziieren ?