2015-06-16 45 views
0
void List::IsinList(int resnum){ 
    Node* temp = head; 

while (resnum != temp->_number && temp != NULL){ 
    temp = temp->next; 
} 

if (resnum == temp->_number) 
    cout << resnum << " is reserved for " << temp->_name << endl; 

if (temp == NULL){ 
    cout << "Information not found" << endl; 
    exit; 
}} 

最近我在單鏈表上做了一些練習。上面的代碼工作,如果在「resnum」(預訂號碼)是名單上的,但如果我輸入一個數字,是不就行了,我得到了一個錯誤:使用LinkedList檢查值

"AirLine Reservation.exe" has stopped working..."

有人可以幫我解決這個錯誤?

回答

2

由於while循環中的條件,程序崩潰。

你必須檢查是否之前temp != NULLresnum != temp->_number作爲循環睾丸的順序的條件,從而試圖訪問NULL和崩潰的值。