У меня проблемы с правильной инициализацией динамического массива узлов с помощью nullptr.
HashMap::HashMap(int size)
{
this->sizeOfArray = size;
this->hashArray = new Node*[this->sizeOfArray];
for (int i = 0; i < this->sizeOfArray; i++)
{
hashArray[i] = nullptr;
}
}
Вот как мой 'hashArray' выглядит в заголовке.
Node **hashArray;
forloop завершает все 500 циклов, но когда я просматриваю данные в массиве, я вижу только первый элемент, прежде чем получаю «Невозможно прочитать память».
Вот изображение того, что я имею в виду https://ibb.co/d0GLw9
Вот как выглядит Node
Node()
{
value = 0;
}
Node(std::string input)
{
key = input;
value = 1;
next = nullptr;
}
Node(std::string input, int count)
{
key = input;
this->value = count;
next = nullptr;
}
Node(std::string input, int count, Node *next)
{
key = input;
this->value = count;
this->next = next;
}
Node *next;
std::string key;
unsigned int value;
Я подозреваю, что эта проблема способствует тому, что я не могу добавить какие-либо новые узлы в hashArray позже.