返回std :: vector的引用

时间:2018-03-13 10:04:03

标签: c++ reference

我遇到了一些代码问题。我有一个包含对象unique_ptr向量的类,但是当我尝试返回它时,我有一个错误。

  

错误:错误:类型为«std::vector<std::unique_ptr<AEntity> >&»

的表达式中«const const std::vector<std::unique_ptr<SFEntity> >»类型的引用的无效初始化pour

以下是代码:

class a {
    public:
const std::vector<std::unique_ptr<AEntity>> &getEntity() const;
    private:
const std::vector<std::unique_ptr<SFEntity>> m_entity;
};

const std::vector<std::unique_ptr<AEntity>> &a::getEntity() const
{
    return m_entity;
}

SFEntity继承自AEntity。

1 个答案:

答案 0 :(得分:1)

派生类的指针向量不会自动转换为基类指针的向量。 容器是不同类型的。