Я хочу использовать неподписанные T в шаблоне:Объявите «без знака» Т
template<class T>
void signed2unsigned(const T* source, unsigned T* dest, size_t n)
{
do
{
intmax_t s=*source;
s+=min(*source);
*dest=s;
++dest;
++source;
--n;
}
while(n!=0);
}
Это не работает, так как без знака, не расширяется до знака междунар до типа Т принимается во внимание. Есть ли обходной путь, отличный от того, как просто ввести U и написать в документации, что U должен быть неподписанным T?
Как насчет [ 'станд :: make_unsigned'] (http://en.cppreference.com/w/cpp/types/make_unsigned)? –