0

2 つの .h ファイルがあります。構造体ノードとリンク リスト クラスを含む List.h と、「List.h」を含む SkipList.h には、SkipList クラスが定義されており、List.h のクラスのインスタンスが使用されます。私はEclipse IDEを使用しています。これらのソースはターミナルから g++ でコンパイルされますが、Eclipse では、SkipList.h ファイルに「シンボル 'ノード' を解決できませんでした」および「シンボル 'リンクリスト' を解決できませんでした」というエラーが表示されます。何が問題だと思いますか?

再編集: 問題が発生したときにコードを投稿しましたが、大学の宿題の一部であるため、リンクを消去する必要がありました。他の同僚が私の仕事を見つけてコピーするリスクを冒したくありません。それはマスターピースです:))

4

2 に答える 2

1

ノードをリストのメンバーとして定義しましたか?SkipListで使用されていない名前空間でNodeとListNodeを定義しましたか?プロジェクトのインクルードパスに関連するパスを追加せずに、山かっこ付きのインクルードファイルをインポートしようとしましたか?

基本的に、エラーを再現できる関連するサンプルコードを提示しない限り、質問に答えると言えることはおそらく多くありません。

(とはいえ、私の経験では、EclipseはC ++コードを処理するときに非常に不安定です。プロジェクトのインデックスを再構築するか、驚いたことに、プロジェクトを閉じてから再度開くことで解決できるコンパイルの問題に遭遇することがよくあります。)

于 2012-04-09T04:58:18.577 に答える
0

私は通常、以下のようにテンプレートを宣言します。

template <class T> struct Node ;

あなたが使用した

template class LinkedList<int> ;
于 2012-04-09T08:03:46.173 に答える