Вы можете реализовать специальную реализацию шаблонной функции для типа unsigned
, например:
template<class T> bool f(T val);
template<> bool f<unsigned>(unsigned val);
ОБНОВЛЕНИЕ Флаг без знака
Вы можете реализовать различные реализации для всех без знакатипы, которые вы хотели бы использовать или добавить флаг bool
, например:
template <class T, bool U> bool f(T val)
{
if (U)
return val <= 100;
else
return (val >=0 ) && (val <= 100);
}
...
cout << f<int, false>(1) << endl;
cout << f<int, false>(-1) << endl;
cout << f<char, true>(10) << endl;