多态性问题

时间:2009-10-14 08:47:10

标签: c++ stl polymorphism

它适用于:

list<ItemFixed> XYZ::List()
{
        list<Item> items = _Browser->GetMusic();
        list<ItemFixed> retItems = _Converter->Convert (items);
        return retItems;
}

但不是:

list<ItemFixed> XYZ::List()
{
        return _Converter->Convert (_Browser->GetMusic());
}

有什么建议吗? 感谢

1 个答案:

答案 0 :(得分:3)

您是否将list<Item>作为非const引用传递给Convert函数?在这种情况下,它不会编译,因为你不能通过C ++中的非const引用传递临时对象。