Я создаю класс HashTable через шаблон. Хотя я не могу найти способ сохранить природу шаблона при работе со строками или любым числовым типом данных (более того, просто целыми числами). Это код, который у меня работает, пока HashKey имеет тип string.
template<typename HashKey>
size_t HashTable<HashKey>::myhash(const HashKey & x) const
{
unsigned int hashVal = 0;
for (unsigned int i = 0; i < x; i++)
hashVal = (hashVal << 5) ^ x[i] ^ hashVal;
return hashVal % hashTable.size();
};
Был бы какой-нибудь способ позволить этому работать, используя что-то вроде
unsigned int hashVal = 0;
hashVal = (hashVal << 5) ^ x ^ hashVal;
return hashVal % hashTable.size();
Любая помощь здесь?
Задача ещё не решена.