关于在向量向量上使用基于范围的 for 循环

About using range based for loop over a vector of vectors

本文关键字:向量 范围 for 循环 于范围      更新时间:2023-10-16

我正在研究一些图形问题。 我有:

vector<vector<int>> e

我填充为:

for(vector<int> edge: edges) {
e[edge[0]].push_back(edge[1]);
e[edge[1]].push_back(edge[0]);
}

现在,当我尝试使用基于for循环的范围访问e时,如下所示:

for(vector<int> v: e[node])

我收到一个错误:

没有从intvector<int>的可行转换

我想这意味着我应该使用:

for(int i: e[node])

如何 -e的每个元素不是向量吗?

e 的每个元素都是一个向量,e[node] 的每个元素都是 int。