C++:从两个包含子类 (typedef) 的列表创建一个列表
C++: Creating one list out of two lists with subclasses (typedefs)
我有两个列表(listsub1和listsub2),我想将它们与push_back合一(listclass)。
class Subclass1 : public Basisclass {...};
class Subclass2 : public Basisclass {...};
//...
typedef std::list<std::shared_ptr<Basisclass> > ListClass;
typedef std::list<std::shared_ptr<Subclass1> > ListSubclass1;
typedef std::list<std::shared_ptr<Subclass2> > ListSubclass2;
//...
ListSubclass1 listsub1 = ...
ListSubclass2 listsub2 = ...
//...
ListClass listclass;
for (const std::shared_ptr<Subclass1> pSubclass1 : listsub1)
{
listclass.push_back(pSubclass1);
}
for (const std::shared_ptr<Subclass2> pSubclass2 : listsub2)
{
listclass.push_back(pSubclass2);
}
如何正确执行此操作?以下是错误消息:
error: no matching function for call to 'std::list<std::shared_ptr<Basisclass> >::push_back(const std::shared_ptr<Subclass1>&)'
listclass.push_back(pSubclass1);
感谢您的帮助!
我忘了包含头文件:/现在它工作正常!
相关文章:
- 动态分配列表 - 创建一个函数,用于删除所有包含偶数值的元素
- 在c++中为链接列表创建复制构造函数/函数
- C++类型列表创建子列表
- 使用初始值设定项列表创建单个项向量
- 如何在C 类中使用备用参数列表创建和使用finturePointer
- C++:从两个包含子类 (typedef) 的列表创建一个列表
- 在线性时间内使用邻接列表创建对顶点
- 从类型列表创建向量元组
- C 链接列表创建链接列表的链接列表
- 需要一个宏来从 std::ostringstream 和 << arg 列表创建 std::string
- 从 2D C 列表创建 boost.geometry.model.polygon
- 如何在C++中使用 STL 列表创建循环
- 使用Templates从参数列表创建std::vector
- 链接列表创建节点
- 如何从 CGAL 中的坐标和拓扑列表创建Polyhedron_3数据结构
- 是否可以使用初始值设定项列表创建临时结构/类
- 如何通过子类型列表创建指针向量
- 为双链接列表创建类的新实例
- 如何用集合顶点列表创建boost子图
- 是否可以为通用元素列表创建排序