Добрый день, друзья! У меня есть вектор указателей на базовый класс и нужно добавить в этот вектор объекты класса наследника. При добавлении объектов с помощью метода .push_back() выдает ошибку. Как исправить эту проблему?
Как объявлена myOrganisms? Какая ошибка выдается?
Если вектор - это именно вектор указателей, то класть в него надо не Cabbage(...), а new Cabbage(...), наверное (подзабыл уже плюсы).
Денис имеет ввиду, что надо сначала освободить память каждого элемента, а потом уже clear вызывать, если что. qDeleteAll() и Qt можно глянуть, например.
Денис Загаевский, так плюсы на то и плюсы, что предоставляют разработчику массу свободы в части отстреливания себе конечностей )) Если серьезно, то надо понимать, что просто так чистить вектор с указателями не стоит, нужно продумать, кто, где и когда убьет сами элементы.