【发布时间】:2020-05-25 09:31:53
【问题描述】:
我想问一下你如何迭代向量对的向量?假设我有以下内容。
typedef pair<int,int> Pair;
vector<vector<Pair> > adjList;
然后我尝试使用以下代码进行迭代:
vector<vector<Pair> > :: iterator i;
vector<Pair> :: iterator it;
for(i = adjList[N].begin(); i != adjList[N].end(); ++i)
{
for(it = adjList[N].begin(); it != adjList[N].end(); ++it)
//and the rest of the code
但是它返回一个错误
'no match for ‘operator=’ (operand types are ‘std::vector > >::iterator {aka __gnu_cxx::__normal_iterator >*, std::vector > > >}’ and ‘std::vector >::iterator {aka __gnu_cxx::__normal_iterator*, std::vector > >}’)'.
有人知道吗?谢谢。
【问题讨论】:
-
N在这段代码中代表什么?? -
为什么你认为
adjList[N].begin()有两种不同的类型?