Я пытаюсь хэшировать 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);
// ^^^^
Других решений пока нет …