У меня есть вектор, который выглядит следующим образом:
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
.
Или есть другой хороший способ сделать то же самое?