c++ - uint64_t 的 tr1::hash

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

为什么这不起作用?

最佳答案

hash 是一个。你必须创建一个对象:

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

关于c++ - uint64_t 的 tr1::hash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12715498/

相关文章:

c++ - std::atomic_...<std::shared_ptr> 应该如何用于线程安全类的复制和移动操作?

linux - 在 linux 内核中映射 DMA 中断

c++ - 替换文件中的单词

c++ - 访问嵌套对

c++ - 我可以运行一个存储的 lambda,其捕获的值不再在范围内吗?

c++ - 在抛出 'std::length_error' 实例后调用终止

c++ - 调试断言仅在某些情况下失败? C++

linux - 如何统计某个目录下所有文件中某个单词的出现次数?但每个文件每个单词的计数仅增加一次

c++ - Boost 或 VC10 的 TR1 - 哪个更好?

GCC 3.4.4 上的 C++ tr1(适用于诺基亚 N810 平板电脑)