[STL ] 關於vector存取元素
如題,請問一下,我先列出我先列出我的class
class Token_Place_Output{
typedef vector<_Point> Pos;
public:
void Set_Mid_Point(_Point P);
Pos Get_Mid_Point();
(其餘略...)
private:
int TP_ID;
int Transition_ID;
Pos Mid_Point;
int Arc_Type;
};
class Truckload_Con_TP_Out{
typedef list<Token_Place_Output> Contents;
public:
Truckload_Con_TP_Out();
Truckload_Con_TP_Out(Token_Place_Output one_Row);
void add_Con_Data(Token_Place_Output new_Row);
Token_Place_Output Get_Now_OB(int vTP_ID,int vTransition_ID);
Token_Place_Output Get_First_OB();
Token_Place_Output Get_End_OB();
int Get_Count();
void ReDrawing(Graphics^ pGraphic,Truckload_TP_Gra TP_G,
Truckload_Transition_Gra Tr_G);
bool inEmpty();
class Find_Ob_by_ID{
public:
Find_Ob_by_ID (int vTP_ID,int vTransition_ID):
TP_ID(vTP_ID),
Transition_ID(vTransition_ID) {}
bool operator()(Token_Place_Output& lhs){
return (lhs.Get_TP_ID() == TP_ID) &&
(lhs.Get_TP_Con_Trans_ID()==Transition_ID);}
private:
int TP_ID;
int Transition_ID;
};
private:
Contents Load;
};
我新增了一個Token_Place_Output類別,然後以Truckload_Con_TP_Out類別
組成link list的架構
但我怎麼讀出每一筆Token_Place_Output中,Mid_Point紀錄的點呢?
以下是我目前的寫法
(_Point是我另外自創的座標class,因為System::Drawing::Point使用會有問題)
vector<_Point> Pos;
int count=0;
for (list<Token_Place_Output>::iterator i=Load.begin();i!=Load.end();++i){
TP_Gra_tmp=TP_G.Get_Now_OB(i->Get_TP_ID()).Get_Coodinate();
Transition_Gra_tmp=
Tr_G.Get_Now_OB(i->Get_TP_Con_Trans_ID()).Get_Coodinate();
Pos=i->Get_Mid_Point();
count=Pos.size();
MessageBox::Show(Point(Pos[0].x,Pos[0].y).ToString());
這一行會出問題,不過在compile的時候沒有錯
然後這一行在打的時候,都沒有提示視窗
(就是按.運算子時,不會出現成員函數,屬性那些東西出來)
}
請問我該怎麼寫呢,煩請有經驗的大大解答一下,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.18.48.28
※ 編輯: tyc5116 來自: 163.18.48.28 (07/28 20:37)
推
07/28 21:31, , 1F
07/28 21:31, 1F
→
07/28 21:35, , 2F
07/28 21:35, 2F
推
07/28 21:37, , 3F
07/28 21:37, 3F
→
07/28 22:05, , 4F
07/28 22:05, 4F
→
07/28 23:12, , 5F
07/28 23:12, 5F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章