[STL ] 請問List

看板C_and_CPP (C/C++)作者 (累人啊....)時間16年前 (2009/07/10 14:57), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串1/10 (看更多)
請問一下,我的部份程式碼如下 class TP_Gra{ public: TP_Gra(int vID,Point vOrigin_Position); TP_Gra(); ~TP_Gra(); void Set_ID(int vID){ID=vID;} int Get_ID(){return ID;} void Set_Coodinate(Point Position); Point Get_Coodinate(){return Origin_Position;} private: int ID; Point Origin_Position; }; class Truckload_TP_Gra{ typedef list<TP_Gra> Contents; public: Truckload_TP_Gra(); Truckload_TP_Gra(TP_Gra one_TP); void add_TP(TP_Gra new_TP); Contents::const_iterator begin(); Contents::const_iterator end(); private: Contents Load; }; 如上,Truckload可因為list的結構而不斷擴張 但我打了這樣的程式(在windows form下) MessageBox::Show(Token_Place.begin()->Get_Coodinate()); 試圖讀取第一個元件的座標,則會發生錯誤,錯誤訊息如下 TP_Gra::Get_Coodinate' : 無法將 'this' 指標從 'const TP_Gra' 轉換成 'TP_Gra & 請問,我該怎麼改呢 又如果現在我是要取最後一個元件的座標,那我又要怎麼改 我知道end()指的是一個空集合,要讀取該位置的前一個位置才是最後的元件位置 但是我的程式碼該怎麼表示呢?? 以上兩個問題,麻煩有經驗的大大回答一下,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.18.48.28

07/10 15:55, , 1F
不清楚為什麼你要將iterator暴露出來..回傳TP_Gra比較好吧
07/10 15:55, 1F

07/10 15:56, , 2F
改為 Contents::iterator 應該就行了
07/10 15:56, 2F

07/10 15:57, , 3F
最後的元素用 list<T>::back()
07/10 15:57, 3F
文章代碼(AID): #1ALkPB_3 (C_and_CPP)
討論串 (同標題文章)
以下文章回應了本文
2
3
完整討論串 (本文為第 1 之 10 篇):
0
2
0
1
2
6
1
1
2
9
2
10
2
7
2
3
1
3
文章代碼(AID): #1ALkPB_3 (C_and_CPP)