Копирование класса, которое содержит участники указателя, удаленные в деструкторе, приводит к двойной бесплатной ошибке.C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Копирование класса, которое содержит участники указателя, удаленные в деструкторе, приводит к двойной бесплатной ошибке.

Сообщение Anonymous »

Скажем, у меня есть функция, которая состоит из чего -то подобного: < /p>

Код: Выделить всё

std::vector entities;

void function() {
entity e; //entity is just a class
entities.push_back(e); //entities is a vector of entity objects
}
< /code>
e
содержит указатель на другой объект. Когда вызывается деструктор для объекта , он удаляет этот указатель. Поскольку и e , так и объект в объектах указывают на одно и то же место, если я сделаю что -то с этим указателем из объектов , (за пределами функции), это дает ошибку, потому что все, что было на указателе, было удалено, как только функция вернулась.>

Подробнее здесь: https://stackoverflow.com/questions/189 ... r-leads-to
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»