Я пытаюсь найти слабый_птр в векторе.Я использую лямбда-выражение в качестве третьего параметра для поиска, но не могу понять, почему этот код не скомпилирован:
std::vector<std::weak_ptr<Car>> cars;
std::shared_ptr<Car> lambo = std::make_shared<Car>();
std::weak_ptr<Car> wPtr(lambo);
cars.emplace_back(lambo);
const auto pos = std::find(cars.begin(), cars.end(), [&wPtr](const std::weak_ptr<Car>& ptr1) {
return ptr1.lock() == wPtr.lock();
});
if (pos != cars.end())
cout << "Not found!" << endl;
Возможно, кто-то может указать мне, что я делаю неправильно.Заранее спасибо.