gpt4 book ai didi

c++ - 遍历对列表的 vector

转载 作者:行者123 更新时间:2023-11-30 03:46:48 24 4
gpt4 key购买 nike

我试图遍历一个对列表的 vector ,但我不断收到编译错误。我正在尝试为该对的第一个元素找到匹配项。

这是 cpp shell 上的代码:http://cpp.sh/4ir4p

这是代码:

// Example program
#include <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
using namespace std;

int main()
{
vector < list < pair <string, string> > > v;
v.resize(15);
string k = "foo";

//want to try and find match
for (size_t i = 0; i < v.size(); i++)
if(v[i].first == k)
cout << "true";

for (const auto & itr : v)
if(itr.first == k)
cout << "true";

cout << "YAY";
}

而且我不断收到这两种方法的错误,说我没有首先命名的成员,我不太确定我做错了什么,感谢您的帮助。

最佳答案

当然你会遇到编译器错误,std::vector 没有名为first 的成员。当您遍历 vector 时,您的迭代器指向一个对列表,您想要进行比较。所以你需要第二个循环:

int main()
{
vector < list < pair <string, string> > > v;
v.resize(15);
string k = "foo";

for (const auto &itList : v)
{
for (const auto &itPair : itList)
{
if (itPair.first == k)
{
cout << "true";
}
}
}
}

关于c++ - 遍历对列表的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33963656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com