Я реализую хеш-таблицу, чтобы помочь хранить и извлекать свойства для приложения.На данный момент это в основном работает, за исключением случаев, когда я пытаюсь получить значение, которое не существует.Мой код должен возвращать пустую строку, вместо этого он падает.Вот соответствующий код.Массив выделяется динамически.
struct Property {
Property* next;
std::string key;
std::string value;
Property() {
key = "";
value = "";
next=NULL;
}
};
Property* properties;
int propSize;
std::string Properties::getProperty(std::string key) {
Property *ptr = &properties[hashcode(key)%propSize];
if (properties[hashcode(key)%propSize].key == "") {
return "";
}
else {
while((ptr->key != key) && (ptr->next != NULL))
ptr = ptr->next;
if (ptr->key != key)
return "";
else
return ptr->value;
}
}