템플릿을 사용하여 함수를 정의하려고하는데 형식 이름이 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
다른 유형 으로 돌아가 거나 다른 유형의 함수를 인스턴스화하지 않으려 고합니다.