Я пытаюсь написать хэш-карту, но конструктор не будет выделять память, может кто-то мне помочь, я новичок в коде, извините за беспокойство, ребята, но я буду действительно ценится за вашу помощь.Почему мой конструктор не может выделить память
class HashMap {
private:
HashEntry **table;
int count;
int TABLE_SIZE;
public:
HashMap()
{
TABLE_SIZE = 128;
table = new HashEntry*[TABLE_SIZE];
for (int i = 0; i < TABLE_SIZE; i++)
table[i] = NULL;
count=0;
}
}
class HashEntry
{
private:
int key;
int value;
public:
HashEntry(){}
~HashEntry(){}
HashEntry(int key, int value) {
this->key = key;
this->value = value;
}
int getKey() {
return key;
}
int getValue() {
return value;
}
void setValue(int value) {
this->value = value;
}
};
Когда он работает,
table = new HashEntry*[TABLE_SIZE];
таблица не смог прочитать память, я новичок в кодировании, плз дать мне некоторую помощь, спасибо!
Что означает «таблица не может прочитать память»? Что происходит, что вы ожидали? – nos
Замечание: 3 строки в середине конструктора можно ввести более кратко: 'table = new HashEntry * [TABLE_SIZE]();' –
Это ваш фактический код? Он компилирует (когда я добавляю объявление fwd и отсутствующий полуплот) и работает нормально в VS2012, хотя, очевидно, будет утечка памяти – doctorlove