C++ 如何通过迭代器访问向量中的嵌套对?

C++ 如何通过迭代器访问向量中的嵌套对?,c++,vector,iterator,C++,Vector,Iterator,我试图通过迭代器访问vector中的嵌套对,但代码块IDE中出现错误,请帮助我如何做到这一点?你可以在附件中看到我的代码 #include<bits/stdc++.h> using namestace std; vector<pair<int , pair<int, bool> > > graph[1000000]; vector<pair<int , pair<int, bool> > >:: iterato

我试图通过迭代器访问vector中的嵌套对,但代码块IDE中出现错误,请帮助我如何做到这一点?你可以在附件中看到我的代码

#include<bits/stdc++.h>
using namestace std;

vector<pair<int , pair<int, bool> > > graph[1000000];
vector<pair<int , pair<int, bool> > >:: iterator it;

queue<int> Q;
int cost[1000000], visit[1000000];


void BFS(int s)
{
    Q.push(s)
    visit[s] = 1;
    while(!Q.empty() {
        int v = Q.front();
        Q.pop();
        for (it=graph[v].begin(); it != graph[v].end(); it++) {
            if(cost[it->first] == -1) {
                cost[it->first] = it->second->first + cost[v];
                Q.push(it->first);

            }
#包括
使用namestace标准;
向量图[1000000];
向量::迭代器;
队列Q;
整数成本[1000000],访问量[1000000];
无效BFS(整数s)
{
Q.推送(s)
访问次数=1次;
而(!Q.empty(){
int v=Q.front();
Q.pop();
对于(it=graph[v].begin();it!=graph[v].end();it++){
如果(成本[it->first]=-1){
成本【it->first】=it->second->first+成本【v】;
推送(it->first);
}

因为它是指针,但它指向的是指针对本身,而不是指针。

欢迎访问stackoverflow.com。请花一些时间阅读,特别是名为和的部分。另外,请和。最后,请学习如何创建指针对。
it->first.second