リンクリストの配列を使用して別々のチェーンを実装しようとしています。最初は構造体配列を初期化しました。構造体配列は最終的には10個のヘッドノードで構成され、最初は0ではなく何もノードにありません。nullで構造体配列を初期化するC++
私はこれが働くだろうと思った:
void Hash::sepChain(int key){
int i;
//initialize array with Null
myNode a[10];
for(i=0; i<10; i++){
a[i] = NULL;
}
myNode->item = key;
myNode->next = a[key%tableSize];
a[key%tableSize] = myNode;
}
が、私はこのエラーを取得しています。
hash.cpp:176:10: error: no viable overloaded '='
a[i] = NULL;
~~~~^~~~~
./hash.hpp:30:8: note: candidate function (the implicit copy assignment operator)
not viable: no known conversion from 'long' to 'const myNode' for 1st
argument
struct myNode{
^
これは私が
struct myNode{
int item;// the value that goes into the node
myNode *next;
};
なぜ私はこのエラーを取得していますし、どのように私はそれを修正することができ.HPPで構造体を書いた方法ですか?ありがとうございました。
あなたは '*'が欠けているようです。 'myNode a [10];'それは 'myNode * a [10];'でなければなりません。 – NathanOliver
ここではほとんどすべての初心者がリンクリストを実装しようとしている理由がわかりません。まず、 'std :: list'が存在し、2番目のリンクされたリストはデータが非常に大量で、任意の場所に挿入しなければそれほど素晴らしいものではありません。 –
@GuillaumeRacicot新しいCS学生の典型的な宿題の問題です。標準コンテナを使用する前に独自のコンテナを作成する必要があります。 – NathanOliver