我想在模板中使用无符号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之外,还有其他解决办法吗?
发布于 2013-04-04 16:34:17
您可以使用std::make_unsigned<T>::type
发布于 2013-04-04 16:33:20
std::make_unsigned<T>::type似乎就是您要找的东西。
https://stackoverflow.com/questions/15806182
复制相似问题