Estou tentando definir uma função usando modelos e quero que o nome do tipo seja int ou anEnum (uma enumeração específica que eu havia definido). Eu tentei o seguinte, mas falhei:
template <int | anEnum T> // or <int T, anEnum T> or <int, anEnum T>
bool isFunction(const T &aVariable){}
O que estou tentando fazer é usar modelos, em vez de definir duas funções sobrecarregadas. Prefiro que a função seja chamada da seguinte forma, sem que o programador precise considerar o tipo
isFunction(aVariable) // and not isFunction<int> (aVariable) nor isFunction<anEnum> (aVariable)
Basicamente, eu quero que essa função seja modelada para os tipos int e aNum. Eu procurei por isso, mas não consegui encontrar a resposta. O que posso estar faltando? Obrigado,
false
para outros tipos ou não instanciar a função para outros tipos.