Próbuję zdefiniować funkcję za pomocą szablonów i chcę, aby nazwa typu była int lub anEnum (określony wyliczenie, które zdefiniowałem). Próbowałem następujące, ale nie powiodło się:
template <int | anEnum T> // or <int T, anEnum T> or <int, anEnum T>
bool isFunction(const T &aVariable){}
Staram się używać szablonów zamiast definiować dwie przeciążone funkcje. Wolałbym, aby funkcja była wywoływana w następujący sposób, bez konieczności rozważania typu przez programistę
isFunction(aVariable) // and not isFunction<int> (aVariable) nor isFunction<anEnum> (aVariable)
Zasadniczo chcę, aby ta funkcja była szablonowana dla typów int i aNum. Szukałem tego, ale nie mogłem znaleźć odpowiedzi. Czego mi brakuje? Dziękuję Ci,
false
do innych typów, czy nie chcesz tworzyć instancji funkcji dla innych typów?