LINUX.ORG.RU

Поиск weak_ptr в векторе

 , ,


0

1

Храню weak_ptr в векторе, и хочу искать по нему. Не могу понять почему не компилится данный код:

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;

Заранее благодарен за помощь.


Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.