[問題] 為什麼這段code會出現fatal error

看板C_and_CPP (C/C++)作者 (大支)時間15年前 (2011/04/02 00:19), 編輯推噓2(2018)
留言20則, 5人參與, 最新討論串1/1
問題(Question): 我現在寫了一段code是有關double link list的 這段code是程式中的某部分 大致上說明一下 struct是建立NODE裏面包含了向左指的指標與向右指的指標 class dlist進行double link list的所有運算這裡只列出其中兩項 newlist建立一個新的link list append是從鏈結中的最後面插入一個NODE main是將那個函式call出來我是測試一下沒有印出 現在問題是我跟我朋友討論過這complie也過 但是在run的時候會整個程式當掉 不知道是哪裡出了問題... 是指標哪裡建立錯了嗎?? 預期的正確結果(Expected Output): 應該要要輸入的cat分別變成c a t用鏈結串起來 錯誤結果(Wrong Output): 整個程式當掉證明這程式有錯誤 程式碼(Code):(請善用置底文網頁, 記得排版) http://paste.plurk.com/show/412803/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.221.209

04/02 00:27, , 1F
class dlist 的右大括號在哪裡?
04/02 00:27, 1F

04/02 00:30, , 2F
哦我忘記打上去了 因為貼上的時候下面還有一堆函式
04/02 00:30, 2F

04/02 00:30, , 3F
你都亂加 ;
04/02 00:30, 3F

04/02 00:32, , 4F
抱歉我改好了
04/02 00:32, 4F

04/02 00:32, , 5F
paste.plurk.com/show/412820
04/02 00:32, 5F

04/02 00:33, , 6F

04/02 01:31, , 7F
newlist()裡執行的動作沒有更改到cpp的head, tail
04/02 01:31, 7F

04/02 12:39, , 8F
那請問應該要怎麼改呢?
04/02 12:39, 8F

04/02 19:29, , 9F
你為何要在newlist裡面再宣告一次head和tail?
04/02 19:29, 9F

04/02 19:30, , 10F
class中已經宣告在private裡面了不是嗎?
04/02 19:30, 10F

04/02 19:32, , 11F
還有if(ptr ->right==NULL)在for迴圈中好像每次都會執行
04/02 19:32, 11F

04/02 19:32, , 12F
所以我想這部分可能怪怪的。
04/02 19:32, 12F

04/02 22:26, , 13F
關於if裡面的敘述我已經改掉了 然後要是newlist
04/02 22:26, 13F

04/02 22:27, , 14F
沒有new 的話debug會出現segmentation error
04/02 22:27, 14F

04/02 22:27, , 15F
我現在就卡在這一點上QQ
04/02 22:27, 15F

04/02 22:30, , 16F
是segmentation fault
04/02 22:30, 16F

04/03 01:36, , 17F
我的意思是把Node *head= new Node; 前面的Node拿掉.....
04/03 01:36, 17F

04/03 01:38, , 18F
只要寫head=new Node;就好了,tail那行刪掉
04/03 01:38, 18F

04/03 01:39, , 19F
Node *ptr=new Node; <---只要Node *ptr;就好
04/03 01:39, 19F

04/03 01:47, , 20F
我之前那句話的講的是宣告,你怎麼會扯到new?
04/03 01:47, 20F
文章代碼(AID): #1DbVhylR (C_and_CPP)
文章代碼(AID): #1DbVhylR (C_and_CPP)