看板 C_and_CPP 關於我們 聯絡資訊
前一篇有發問了本來兩個問題一起問 感覺好像又是不同類型,那篇又有點長 怕影響閱讀我把它拆兩篇問好了(本來打在裡面) 程式碼:https://goo.gl/Xu3Hij 程式碼中有其中一段(create)被我註解了,那段會出錯 C:\Users\Kanasaki\Desktop\double_link_obj\main.cpp:43:1: error: 'node' does not name a type node* sgink<T1>::create(const T1 &n){ ^ 好像是說找不到typedef的定義, 不過即便我把結構放到public也是一樣 把方法放進類別內是可行的 ★★★怎麼辦呢我想分開寫 QuQ 能怎麼做 --------------------------------------------------- 本來有一大堆有點影響閱讀 修正後剩這麼一點(原本的砍了) 一開始的好像是錯的struct寫錯了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.35.139.127 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1467705733.A.09C.html
Caesar08: 抱(x) -> 報(o) 07/05 16:07
已更正~~
BlazarArc: http://ideone.com/CwenjL 07/05 16:11
阿~錯誤減少了,原來那一堆是struct寫錯了 還有一行錯誤 main.cpp:43:1: error: 'node' does not name a type node* sgink<T1>::create(const T1 &n){ ^ 這裡有注意到您使用 node* next{nullptr}; 請問這跟 node* next = 0; 有什麼差別嗎~
Sidney0503: nullptr是智慧指標 07/05 17:03
Sidney0503: C++不要用0和NULL 07/05 17:04
了解~
Sidney0503: 你沒定義node...... 07/05 17:13
定義在class裡面那個struct 要怎麼定義~
yvb: typename sgink<T1>::node* sgink<T1>::create(const T1 &n){ 07/05 21:26
嗚哇~過了,非常感謝您的協助
Sidney0503: 跟你說過不要用struct 07/06 10:24
Sidney0503: 發現麻煩了吧 07/06 10:25
Sidney0503: C++跟C可以看成完全不一樣概念的語言 07/06 10:27
那能怎麼改寫~我以為這樣做是最好的 主要是想完成單向與雙向鏈結 感覺結構還是需要,比較好讀與整理思緒 把結構換成class包在外面 然後在繼承進來?或是嵌入嗎? 我把它換成了這樣 https://goo.gl/FN4CkQ
shadow0326: 恩 不是struct的問題吧 是dependent name的宣告語法 07/06 11:22
shadow0326: effective c++有一個item專門在講這個 07/06 11:22
Sidney0503: 他有#include "single" 但是沒放上來 07/06 11:23
QQ 不懂
Caesar08: ... 你就把structs改成struct,然後放在test裡就好,把 07/06 12:14
Caesar08: structs變成test的nested class 07/06 12:14
痾~像這樣嗎~https://www.codepile.net/pile/mzPmg0kK (網站可以直接編輯、更改) 把 structs -> struct 是什麼意思,這樣不是衝到關鍵字了
Caesar08: 把class structs改成struct structs... 07/06 18:10
哦哦了解~~上面的連結把它設成class也可以使用 請問設成class跟strtuct有什麼差別嗎? 還是說只是要放變數就使用struct就好?
steve1012: Class struct 除了預設private 以外都一樣 直接用class 07/08 08:03
steve1012: 就好 完全沒差 07/08 08:03
steve1012: 有些coding style 會prefer pod用struct 就是了 07/08 08:04
了解~謝謝你~ ※ 編輯: hunandy14 (114.35.139.127), 07/08/2016 18:55:28