Повысить лямбду с помощью std :: find_if не компилируется

Рассмотрим этот метод члена шаблона некоторого класса:

template<typename T>
bool elementIsInSharedPtrVector(const T& p_elem, const std::vector< boost::shared_ptr< T > >& p_Vector) const
{
return (std::find_if(p_Vector.begin(), p_Vector.end(), **boost::lambda::_1 == p_elem) != p_Vector.end());
}

Компилятор выдает эту ошибку (помимо сотен ошибок шаблона):

usr/include/boost/pointee.hpp:30: error: no type named 'element_type' in 'struct SLnAdjW'

Тип SLnAdjW является структурой POD C со свободной определенной операторной функцией ==

Что я тут не так делаю?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …