Копирование класса, которое содержит участники указателя, удаленные в деструкторе, приводит к двойной бесплатной ошибке.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

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