u164_t的tr1 :: hash

时间:2012-10-03 19:31:11

标签: c++ linux tr1

我正在尝试散列64位整数,

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&)’

为什么这不起作用?

1 个答案:

答案 0 :(得分:4)

hash。你必须做一个对象:

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