2

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

なぜこれが機能しないのですか?

4

1 に答える 1

4

hashクラスです。オブジェクトを作成する必要があります。

return std::tr1::hash<uint64_t>()(temp);
//                            ^^^^
于 2012-10-03T19:47:51.530 に答える