J'essaie de définir une fonction à l'aide de modèles et je veux que le nom de type soit int ou anEnum (une énumération spécifique que j'avais définie). J'ai essayé ce qui suit mais j'ai échoué:
template <int | anEnum T> // or <int T, anEnum T> or <int, anEnum T>
bool isFunction(const T &aVariable){}
Ce que j'essaie de faire, c'est d'utiliser des modèles, au lieu de définir deux fonctions surchargées. Je préfère que la fonction soit appelée comme suit, sans que le programmeur doive considérer le type
isFunction(aVariable) // and not isFunction<int> (aVariable) nor isFunction<anEnum> (aVariable)
Fondamentalement, je veux que cette fonction soit basée sur des modèles pour les types int et aNum. J'ai cherché cela, mais je n'ai pas pu trouver la réponse. Que puis-je manquer? Merci,
false
pour d'autres types ou ne pas instancier la fonction pour d'autres types.