我想要一个模板来选择数字类型,但我也希望也有一个全局类型模板.我试图为这个问题应用解决方案,但它不起作用:
template<typename T, typename ... Types>
void myFct(T arg1, Types ... rest) { /*do stuff*/ }
template<typename T, typename = typename std::enable_if<std::is_arithmetic<T>::value, T>::type,
typename ... Types>
void myFct(T arg1, Types ... rest) { /* do stuff */ }
Run Code Online (Sandbox Code Playgroud)
因为现在我有两个具有相同标题的函数.做什么的正确方法是:
template<typename T, typename ... Types>
void myFct(T arg1, Types ... rest)
{
if (isNumeric(T))
doNumericStuff();
else
doStuff();
}
Run Code Online (Sandbox Code Playgroud)