これに似たものはどこにも見つかりませんでした。ハッシュ テーブルのオブジェクト (リンク リスト) へのポインターの配列があります。
LinkList * table[TABLE_SIZE];
for (int i = 0; i < TABLE_SIZE; i++)
table[i] = NULL;
ハッシュ テーブル クラスの関数の 1 つで、配列LinkList
内のオブジェクトの関数の 1 つを呼び出す必要があります。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
エラーが発生します。この行がコメントアウトされている場合、エラーは発生しませんが、ハッシュ テーブルに顧客を追加することはできません。これは正しい構文ではありませんか?