我有一個像下面載體和迭代器
vector<Field> m_vField;
我該命令填補向量定義的矢量:
AddFiled(const Field& aiField)
{
m_vField.push_back(aiField);
}
但是當我嘗試運行迭代器一次迭代後這墜毀矢量通過「訪問違規讀取位置」
vector<Field>::iterator it;
for(it = m_vField.begin(); it != m_vField.end() ; it++)
{
dosomthing
}
感謝您的幫助。
您在發佈的代碼中有兩個名稱(m_vField和vField) - 剪切/粘貼錯誤?另請說明你如何使用迭代器。 – Mat
'dosomthing'是否修改'it',或者添加或移除向量中的元素?您發佈的代碼不會導致訪問衝突。 –
是在類內部聲明的矢量嗎?如果你已經編寫了一個獨立的函數來插入矢量,那麼你也可以直接這樣做。 – Balanivash