Я пытаюсь получить доступ к функции-члену вложенного класса в выражении find_if.
Мой код ниже вызывает ошибку компиляции в выражении привязки - (COuter :: innerClass не является классом или пространством имен).
Не могли бы вы помочь мне с правильным выражением связывания?
vector<COuter> vec;
vec.push_back(COuter());
vector<COuter>::const_iterator it =
find_if(vec.begin(), vec.end(), bind(&COuter::innerClass::GetTemp, _1) == 42);
Мои примеры классов:
class CInner
{
public:
CInner() : _temp(42) {};
int GetTemp() const
{
return _temp;
}
private:
int _temp;
};
class COuter
{
public:
CInner innerClass;
};