Ошибка: «Использование объекта Wrapper после освобождения (WRAPPER_ESCAPE)» - PullRequest
0 голосов
/ 24 января 2020
...
Object& a = list.front();
list.pop_front();
...

Мне нужно использовать & a после выполнения вышеуказанного. Но прикрытие повышает использование после бесплатной выдачи. Является ли использование & a после выполнения pop_front () проблемой?

1 Ответ

2 голосов
/ 24 января 2020

С

Object& a = list.front();

вы делаете a reference передним элементом списка. Когда вы позже вставляете передний элемент, он разрушается, оставляя вам ссылку на несуществующий объект.

Вы должны скопировать элемент вместо

Object a = list.front();

Или, возможно, ход это

Object a = std::move(list.front());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...