【发布时间】:2017-11-19 04:10:36
【问题描述】:
我有一个成对向量数组
vector <pair<int,int> > a[4]
。我使用 push_back 向它添加了元素。但我不知道如何打印元素。如果我使用迭代器并像 a[i].first 或 a[i].second 那样打印它会抛出错误。任何其他方式。在此先感谢。
vector <pair<int,int> > a[4];
for(int i = 0;i < e;++i)
{
int x,y;
cin >> x >> y >> w;
a[x].push_back({w, y});
a[y].push_back({w, x});
}
这是我推送元素的方式。但是如何打印它们。
for(i=a[i].begin();i!=a[i].end();i++)
{
cout<<a[i].second<<" ";
}
我收到以下错误。我不知道如何打印它们。
error: no match for 'operator[]' (operand types are 'std::vector<std::pair<int, int> >*' and 'std::vector<std::pair<int, int> >::iterator {aka __gnu_cxx::__normal_iterator<std::pair<int, int>*, std::vector<std::pair<int, int> > >}')
for(i=g[i].begin();i!=g[i].end();i++)
【问题讨论】:
-
欢迎来到 Stack Overflow。请花时间阅读The Tour 并参考Help Center 中的材料,您可以在这里问什么以及如何问。
-
为什么我不应该在这里问这个话题??
-
您确定要拥有
vector <pair<int,int> >的数组吗?? -
现在我已经编辑了我的问题。我想现在很清楚了。