我在任何地方都找不到类似的东西。我有一个指向哈希表的对象(链表)的指针数组:
LinkList * table[TABLE_SIZE];
for (int i = 0; i < TABLE_SIZE; i++)
table[i] = NULL;
在我的哈希表类的一个函数中,我需要调用数组中LinkList
对象的函数之一。table
我这样称呼它:
void HashMap::add_customer(string first, string last, string phone) {
int hash = get_hash(phone);
if (table[hash] == NULL) {
table[hash] = new LinkList;
}
table[hash]->add_customer(first, last, phone); // I HATE THIS LINE
}
一切都编译得很好,但是当我在运行时执行该table[hash]->add_customer()
行时,我得到一个Segmentation Fault
错误。当这条线被注释掉时,我没有收到任何错误,但显然,我不能将任何客户添加到我的哈希表中。这不是正确的语法吗?