QList<ElcusHelper*> m_elcusConnections;
QList<Udp*> m_udpConnections;
И есть функция:
template<typename T>
QList<T *> ConnectionsManager::connections(PicaHelper::TechnologyType type)
{
switch(type){
case PicaHelper::Elcus:{
return m_elcusConnections;
}
break;
case PicaHelper::Ethernet:{
return m_udpConnections;
}
break;
}
}
Она
выдает вот такую ошибку
Как исправить код, чтобы работало?
could not convert '((ConnectionsManager*)this)->ConnectionsManager::m_udpConnections' from 'QList<Udp*>' to 'QList<ElcusHelper*>'
действительно, почему же выдает ошибку. может типы разные?
Нужно больше кода, хотя бы как вызывается и куда результат пишется
Отличное наблюдение
QList<ElcusHelper*> elcusConnections = connectionManager->connections<ElcusHelper>(PicaHelper::TechnologyType::Elcus); Я вообще думал, что это как-то так сработает..
а как вызывается эта функция?
А зачем здесь enum передавать?
Чтобы было понятно, какой контейнер вернуть
ты уже задаёшь тип контейнера в <..>
нет, выше уже написали, что в рантайме так не получится сделать. У вас тут уже в явном виде указан возвращаемый тип, а по факту возвращаться будет другой
Обсуждают сегодня