我正在尝试使用我已经定义的数据类型创建一个向量 在课堂上
for(int i=0; i<myVector.size();i++)
但是当我尝试使用for循环
访问向量中的元素时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);
我收到错误消息,告知向量超出范围调试断言失败了第932行!
这是我的代码
val joined = userData.join(events)// RDD of (UserID, (UserInfo, LinkInfo)) pairs
val offTopicVisits = joined.filter {
case (userId, (userInfo, linkInfo)) => !userInfo.topics.contains(linkInfo.topic)
}.count()
当我尝试对此循环进行评论时,我没有收到该错误消息
任何帮助将不胜感激
答案 0 :(得分:2)
这一行:
n
应该是:
cur_node = Unvisited[0];
否则,它只会反复访问第一个元素。
但是如果你只需要对每个元素执行一个动作,你应该使用foreach循环:
cur_node = Unvisited[i];
这可以避免索引等问题。或者,如果您需要实际修改每个元素而不是仅使用它,只需删除for (const Road_Segment& cur_node : Unvisited) {
// I'm guessing "neighbers" is just a typo, but that's what was in the question
find_node_neighbers(cur_node.end_station.ID, end, T_R);
}
:
const