tr1 :: hash для uint64_t

Я пытаюсь хэшировать 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&)’

Почему это не работает?

2

Решение

hash это учебный класс. Вы должны сделать объект:

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]