我試圖創建我已經在一個類中定義 一個數據類型的矢量C++向量元素訪問
vector<MYdatatype> myVector;
但是當我嘗試使用一個for循環來訪問向量中的元素
for(int i=0; i<myVector.size();i++)
我收到一條錯誤消息,告訴向量超出範圍Debug斷言失敗的行932!
這是我的代碼
vector <Road_Segment> Unvisited;//the vector
for (i = 0; i<Unvisited.size(); i++)
{
cur_node = Unvisited[0];//current node to visit
find_node_neighbers(cur_node.end_station.ID, end, T_R);
當我試評for循環我沒有得到錯誤信息
任何幫助,將不勝感激
你擦除從'Unvisited'循環裏面的一些元素? – Miki
@Miki這不會引起問題,因爲它也會調整'Unvisited.size()',所以循環會更快地退出。 –
這應該在調試器中運行。斷言將彈出並顯示給您調用堆棧,然後您可以在其中查看哪個索引是錯誤的。你的循環有多個潛在的失敗的地方,這是實際的問題仍然是一個謎;我們不介意讀者。 – WhozCraig