У меня есть шаблонный метод определяется какшаблона типа зависимых пакетов и наследования
template<class T>
const std::list<T>& GetList()
{
return GetList(std::shared_ptr<Parent>(new T()));
}
const std::list<std::shared_ptr<Parent>>& GetList(const std::shared_ptr<Parent>&a)
{
//
}
Учитывая, что T
является типом классов, которые принимают Родитель в качестве родительского класса, например, ошибка
class Child1:public Parent
{};
Compilation: Can not convert const std::list<std::shared_ptr<Parent>>& to const std::list<T>&
Есть ли способ исправить это, не изменяя тип T
в shared_ptr?
Список shared_ptr из T - это другое дело из списка T. Это не просто случай несоответствия типа. Что вы пытаетесь достичь ? –
У меня есть определенный метод 'Const зЬй :: Список <станд :: shared_ptr> & GetList (Const станд :: shared_ptr & а) { // }' Теперь мне нужно написать шаблон, чтобы сделать но он должен вернуть список T, которые являются подтипами родителя –
user1458245
И что будет с общими указателями? –