Re: Visual Studio 2013 баг
От: MaxLovic  
Дата: 25.10.13 09:56
Оценка:
Что интересно, удаляется только первый добавляемый элемент.
В данном случае вызовется деструктор B, остальные элементы живы.
std::vector<std::shared_ptr<Base>> m = {
        std::make_shared<B>(),
        std::make_shared<A>(),
        std::make_shared<A>()
    };


И это бага только при преобразовании к базовому классу. Так работает:
std::vector<std::shared_ptr<A>> m = {
        std::make_shared<A>(),
        std::make_shared<A>()
    };
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.