我想在模板中使用未簽名的T:聲明一個「無符號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 int的考慮。除了引入U並在文檔中寫入U必須是未簽名的T之外,是否有解決方法?
如何['標準:: make_unsigned'(http://en.cppreference.com/w/cpp/types/make_unsigned)? – 2013-04-04 08:33:08