Мне был предоставлен фрагмент кода, который поможет мне в задании, но у меня возникли проблемы с его реализацией в моем решении. Вот кусок кода:Хэш-структура с использованием объекта
#include<iostream>
#include<tr1/unordered_set>
using namespace std;
using std::tr1::unordered_set;
struct ihash
: std::unary_function<int, std::size_t>
{
std::size_t operator()(const int& x) const
{
return x;
}
};
У меня есть объект, который я хотел бы использовать, чтобы решить, размер hashval я хотел бы использовать. Я пришел с этим:
/*int myhash(const Play & key, int tableSize){
int hashval = 0;
string keysize = key.getoTeam()+key.getdTeam();
for(int i=0;i<keysize.length(); i++){
hashval = hashval*5 + keysize[i];
}
return hashval;
}*/
Но я не могу найти примеры кода, которые используют для-структуру хеш-таблицы, что делать что-то подобным, и ИНТ версия не работает с моей декларацией моей unordered_set. Я заявляю следующее:
unordered_set<Play, myhash> PlaySet;
Может ли кто-нибудь помочь мне соединить точки?
Update:
Новая ошибка: main.cpp: 38: ошибка: ожидается, неквалифицированный-идентификатор, прежде чем âreturnâ
я закончил с моим имеет бытие:
struct hashbrowns{
size_t operator()(const Play & a) const
{
string keysize = a.getoTeam()+a.getdTeam();
size_t seed = 0;
for(int i=0;i<keysize.length(); i++)
seed = seed*5 + keysize[i];
}
return seed;
};
линия 38 существо, вернуть семя;
Я думаю, что этот вопрос и ответ описывают то, что вы ищете: http://stackoverflow.com/q/17016175/777186 (это предполагает, что C++ 11, а не TR1, хотя это актуально?) – jogojapan
Спасибо , это было полезно. Пожалуйста, перечитайте мой вопрос, если сможете, так как я столкнулся с новой проблемой. –
+1 просто для отличного имени для хэш-функтора = P ('hashbrowns' заставлял меня усмехаться). Ну, хорошо, сам вопрос довольно хорошо представлен. В стороне, похоже, вы на правильном пути для предоставления типа хеш-функции вашей неупорядоченной карте, особенно с найденной синтаксической ошибкой woolstar. Вы могли наконец заставить это работать, или вам нужна дополнительная помощь? – WhozCraig