を投げます。誰もが理由を知っており、それがどのように修正されていますか?C++私は、ノードが、それが動作しているが、私はすでにノードを出て、それを呼び出すたび、私はこのエラーを取得し、すでに存在しているときにエラーをスローするリストの末尾にOノードを追加し、C++のコードを書いていますエラー
例外が編集
中止
List& List::addnode(node p){
node *Current=NULL;
p.nextNode = NULL;
p.previousNode = NULL;
if (!firstNode) firstNode = &p;
else Current = firstNode;
while (Current){
if ((*Current) == p){
throw NodeExist;
return *this;
}
if (!(Current->nextNode)){
Current->nextNode = &p;
p.previousNode = Current;
return *this;
}
Current = Current->nextNode;
}
}
'エラー' のインスタンスを投げ 後に呼び出さTERMINATE:私はのいずれかを消去した場合、私はその
try{
x.addNode(p);
x.addNode(p1);
x.addNode(p2);
x.addNode(p1);
x.addNode(p4);
}
catch(int i){
cout<<i<<endl;
}
のようにそれを呼び出しますx.addNode(p1);
それは例外なく正常に動作します...
もここに値によって渡されるノードですので、あなたはコピーを得ていますか? – ColWhi
'Error'と' NodeExist'の定義を表示できますか? –