2016-08-30 19 views
-1

私のコードは引数の点では正しいと私は確信していますが、Eclipseには関数に入力していますが、一致するコンストラクタがないというエラーが発生しています。私はeclipseで設定を変更する必要があるかどうかを疑問に思っていました(これは、Mac上でC++を動作させるには非常に面倒なようです)。したがって、コードは、リンクされたリストクラスに含まれるノードクラスを持つオブジェクトのリンクリストです。Eclipse osx、一致するコンストラクタがありません

ノードコンストラクタ

Node::Node(Animal& a) : animal(a), next(0) { 
} 

、私は上記の行は、ノード

+1

を働きました。 – Jarod42

+0

ビルドエラーに関する質問をするときには必ず*実際のエラーを含めてください。あなたが得た完全なエラー出力をテキストとして、完全にそして編集なしで、コピー・ペーストしてください。また、可能性のある情報メモも含めてください。また、可能であれば、[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)を作成して、エラーのあるコメントを含めてみてください。 –

+0

申し訳ありませんが、エラーの入力は容認できましたが、私は次回エラーを貼り付けることを覚えています。 – AmatuerCoder101

答えて

0

void LinkedList::addAtIndex(const Animal& a, int index) { 
    Node *nodeToAdd = new Node(a); 

aは一定であると予想されます。非定数参照を使用しようとするコンストラクタに渡しているので、constコントラクト/修飾子=>できません。これを修正するには

Node::Node(const Animal& a) : animal(a), next(0)

あなたのメンバーanimalは、このあなたが他の方法で行う必要があるでしょう他、動作しますAnimalへの非const参照でない場合:addAtIndexメソッドからのconst修飾子を削除します。

0

あなたの初期化のために私に一致するコンストラクタをエラーを与えないこの

void LinkedList::addAtIndex(const Animal& a, int index) { 
Node *nodeToAdd = new Node(a); 

のようなリンクリストでそれを呼び出しますコードがconstnessで正しくない

おそらく、非const参照にバインドできないのconst参照として

Node::Node(const Animal& a) : animal(a), next(0) {} 

または

void LinkedList::addAtIndex(Animal& a, int index) { 
    Node *nodeToAdd = new Node(a); 
    // .. 
} 

をしたいです。その文脈において

0

私は

Node::Node(const Animal& a) : animal(a), next(0) 

constの動物を取るためにノードのコンストラクタを変更し、すべてがあなたはおそらく `ノード::ノード(constの動物&A)`たい細かい

関連する問題