Когда я итерации через std :: map и попытаться нажимать каждое значение на std :: vector , я вижу следующую ошибку
code> code>, я вижу следующую ошибку
.
Код: Выделить всё
std::unique_ptr::unique_ptr(const std::unique_ptr &)Im AM AM AM AM AM AM ON VISAL STUDIORENTIOR 15.9.1616.1616.1616.1616.16.16.1616.16.16.16.16.16.16.16.16.16.16.16.16. 14.16.27023 < /p>
Код реализации заключается в следующем. Baseint - это базовый состав с элементом int и чистым виртуальным replaceint () . DeviveInt1 и defivedint2 Реализуйте виртуальную функцию с различными значениями int и отличается от параметра в их конструкции.
Код: Выделить всё
#include "UserClass.h"
#include
#include
#include
#include
#include
#include
typedef std::vector vec_type;
typedef std::map map_type;
template std::unique_ptr createInstance(vec_type& vec) { return std::make_unique(); };
template std::unique_ptr createInstance(vec_type& vec, U u) { return std::make_unique(u); };
void fillVector(map_type& map)
{
vec_type my_vec;
for (auto const& it : map )
{
std::cout second));
}
Как указано несколькими людьми, я сделал базовый дизайн, не используя уникальный_ptr как уникальный. Я вижу проблему, которую вы упомянули, и рассмотрю возможность перейти на wared_ptr или изменить дизайн. Спасибо за быстрый ответ. Я буду обновлять свои изменения здесь завтра.>
Подробнее здесь: https://stackoverflow.com/questions/589 ... o-a-vector
Мобильная версия