Я намагаюся визначити функцію за допомогою шаблонів, і я хочу, щоб ім'я типу було або int, або anEnum (конкретна перерахунок, яку я визначив). Я спробував наступне, але не зміг:
template <int | anEnum T> // or <int T, anEnum T> or <int, anEnum T>
bool isFunction(const T &aVariable){}
Що я намагаюся зробити - це використовувати шаблони, а не визначати дві перевантажені функції. Я вважаю за краще функцію називати наступною, без програміста враховувати тип
isFunction(aVariable) // and not isFunction<int> (aVariable) nor isFunction<anEnum> (aVariable)
В основному я хочу, щоб ця функція була шаблонна для типів int та aNum. Я шукав це, але не зміг знайти відповіді. Що я можу бракувати? Дякую,
false
для інших типів чи не бажаєте інстанціювати функцію для інших типів.