如何在存储抽象基类引用的泛型上使用每个循环?

问题描述

抱歉标题混乱。希望一个例子可以解决问题。我有一个名为 Renderable 的基类,如下所示:

class Renderable {
public:
    virtual void render() = 0 ;
};

我计划遍历可渲染对象的派生类引用的 std::vector。像这样:

std::vector<Renderable&> allRenderables = //passed in somewhere;
for (Renderable& renderable : allRenderables) {
    renderable.render();
}

我编译了,这就是我得到的:

错误 C2528::指向引用的指针非法

我尝试删除 & 但它告诉我 Renderable 是抽象的。另外,我认为这是一种糟糕的实现方式。

有人能告诉我我做错了什么吗?或者这是实现这一点的正确方法吗?

我先谢谢你!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)