C ++向量用法中的错误:没有匹配的成员函数可调用“ push_back”

时间:2019-05-07 13:10:10

标签: c++ vector

我基本上是在尝试使用向量,但是它有一个问题。顺便说一句,我要解决的问题是USACO 2014年12月青铜问题#4。代码在下面。

#include <iostream>
#include <cstring>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    int num,min,max;
    cin>>num>>min>>max;

    vector <pair<int,int> > cow;

    for(int a=0;a<num;num++)
    {
        int temp;
        int temp2;
        cin>>temp>>temp2;

        cow.push_back (temp2);

        if(temp=="NS")
            cow[a].second=0;
        else if(temp=="S")
            cow[a].second=1;
    }

    sort(cow.begin(),cow.end());

    int count=0;

    cout<<"Count="<<count<<endl;

    for(int b=0;b<num;b++)
    {
        cout<<"Weight: "<<cow[b].first;
        if(cow[b].second==0)
            cout<<"Spots: NO"<<endl;
        else if(cow[b].second==1)
            cout<<"Spots: YES"<<endl;
    }
}

预期结果应该是向量应按数字顺序排列,但我仍停留在第一步。另外,它给我的错误是:没有匹配的成员函数来调用'push_back'

我不知道该如何处理,也找不到类似问题的在线资源。有人可以帮忙吗?

* edit:将int temp更改为字符串temp

1 个答案:

答案 0 :(得分:2)

您声明了一个向量对,但是将一个int推回到向量中