我正在尝试迭代 vector 对并访问第一个和第二个元素。
我不能使用自动,所以我需要使用迭代器。
for (list<string>::const_iterator it = dest.begin(); it != dest.end(); ++it)
{
for (vector< pair < string, string > >::iterator it2 = class1.begin(); it2 = class1.end(); ++it2)
{
if (it == it2.first)
cout << it2.second;
}
}
我不断收到错误消息:
我试过了:it2-> first,it2.first和(* it2).first。
为什么不起作用?
最佳答案
您正在尝试将迭代器与字符串进行比较。这不仅涉及取消引用it2
的语法,还必须取消引用it
。正确的语法是
if (*it == it2->first)
顺便说一句,你打错了,是写了
it2 = class1.end()
而不是it2 != class1.end()
。关于c++ - 迭代 vector 对并访问第一个和第二个元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55666867/