Witajcie,
Mam klasę Window
, która zawiera w sobie std::unique_ptr<Viewport> viewport
. W tej klasie mam metode
setViewport(std::unique_ptr<Viewport> && newViewport)
{
viewport = newViewport;
}
W innej klasie robię tak:
Window wnd;
std::unique_ptr<Viewport> viewport(new Viewport);
wnd.setViewport(std::move(viewport));
Kompilator wywala błąd w metodzie setViewport
w przypisaniu std::unique_ptr &&
do std::unique_ptr
. Błąd to jakoś "Use of deleted functium operator="
. Tak samo użycie reset z tym parametrem generuje ten sam błąd. Na ideone.com napisałem coś podobnego i jest ten sam błąd w C++14. Mimo to na stronie http://en.cppreference.com/w/cpp/memory/unique_ptr/operator%3D jest użycie np. p1 = std::move(p2);
i widnieje też na liście deklaracji metod. WTF