我想在模板中使用无符号 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);
}
这不起作用,因为在考虑类型 T 之前, unsigned without 已扩展为 unsigned int。除了引入 U 并在文档中写入 U 必须是无符号 T 之外,还有其他解决方法吗?