我按以下方式访问对向量的值。
for(unordered_map<int,vector<pair<int,int>>>::iterator it;it!=mul2.end();it++)
{
int value=it->first;
if(value%p!=0)
continue;
int quotient=value/p;
auto it1=mul1.find(quotient*q);
if(it1==mul1.end())
continue;
vector<pair<int,int>> list1=it->second;
vector<pair<int,int>> list2=it1->second;
for(int j=0;j<list1.size();j++)
{
for(int k=0;k<list2.size();k++)
{
if((list1[i]).second!=(list[2]).first)
{
flag=1;break;
}
if(flag)
break;
}
}
if(flag)
break;
}
if(flag)
printf("Yes\n");
else
printf("No\n");
当我访问list [i] .second时,它给了我以下错误。
error: missing template arguments before ‘[’ token
我知道如何使用迭代器访问它,但我不知道这种方法有什么问题。