2017-11-17 10 views
-2

リンクされたリストからアイテムを削除する関数を作成しようとしていますが、関数に渡されたアイテムがリンクされたリスト。このため、私のプログラムは認識できない入力を受け取った場合にクラッシュします。ここで リンクされたリスト内のデータが存在するかどうかをチェックする方法C++

は私の関数である。

bool StringList::remove(string rmData){ 
    StringNode *current = new StringNode; 
    StringNode *previous = new StringNode; 
    current = head; 
    while(current->data != rmData){ 
     previous = current; 
     current = current->next; 
    } 

    previous->next = current->next; 
} 

データがリスト内に存在する場合、どのように確認できますか?

+0

場合は、いつでも、nullにcurrent->nextポイントかどうかを確認する必要があります。そしてあなたはあなたの '新しい'呼び出しで記憶を漏らしている。あなたはそれらをここに必要としません。 – 1201ProgramAlarm

答えて

0

あなたがリストの最後に達したかどうかを確認するためにあなたのループ内でチェックしていないので、break;

関連する問題