我正在尝试使用模板定义函数,并且我希望类型名是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类型的模板。我已经搜索过了,但是找不到答案。我可能会缺少什么?谢谢,
如果正是一个枚举或int类型,为什么不简单地编写两个函数呢?在这种情况下,为什么需要模板?
—
克劳斯
那其他类型呢?您是否要返回
—
frogatto
false
其他类型或不实例化其他类型的函数。
@frogatto不,布尔型返回值没有任何类型。
—
bg
@Klaus我已要求学习替代方法。根据当前答案,我决定简单定义两个函数。
—
bg