2012-10-03 39 views
2

我想凑一个64位整数,TR1 ::哈希uint64_t中

uint64_t temp = ...; 
return tr1::hash<uint64_t>(temp); 

但是我得到的错误,

error: no matching function for call to ‘std::tr1::hash<long long unsigned int>::hash(uint64_t&)’ 

为什么不这项工作?

回答

4

hash。您必须提出对象:

return std::tr1::hash<uint64_t>()(temp); 
//       ^^^^