Ошибка в использовании вектора C ++: нет соответствующей функции-члена для вызова push_back - PullRequest
1 голос
/ 07 мая 2019

Я в основном пытаюсь использовать вектор, но есть проблема с ним. Кстати, проблема, которую я пытаюсь решить, - USACO Декабрь 2014 Бронзовая проблема № 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 Ответ

2 голосов
/ 07 мая 2019

Вы объявили вектор пар, но возвращаете в вектор int

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...