Использование find_if для вектора объекта

У меня есть вектор, который выглядит следующим образом:

class Foo
{
    //whatever
};

class MyClass
{
    int myInt;
    vector<Foo> foo_v;
};

И, скажем, в main :

int main (void)
{
    vector<MyClass> myClass_v;
}

Я хочу найти объект в myClass_v с myInt == bar . Меня не волнует foo_v . Я подумал об использовании функции std :: find_if :

std::find_if(myClass_v.begin(),myClass_v.end(),condition);

с

bool MyClass::condition(MyClass mc)
{
    if(mc.myInt==5)
        return true;
    else
        return false;
}

Однако компилятор говорит, что condition () не содержит аргументов.Не могли бы вы сказать мне, что я делаю не так? Я думал, что std :: find_if вызовет условие (* First) , где First будет указателем на объект myClass .

Или есть другой хороший способ сделать то же самое?

32
задан Azeem 5 August 2018 в 04:50
поделиться