铸造容器 C++ [重复]

2023-11-30

可能的重复:
是否可以将 Base 类型的 STL 容器转换为 Derived 类型?

这应该是一个简单的问题...如果我有一个基类的容器,例如 STL 列表,是否可以将整个容器转换为子类类型?例如。

[A inherits from base class B]

list<B*> list1;
list1.push_back(new A());

list<A*> list2 = list1;

编译器抱怨:“conversion from std::vector<B*, std:allocator<B*> >' to non-scalar type 'std::vector<Bar*, ...>' requested."

这可能吗,还是我只是搞砸了?


No. std::list<T> and std::list<U>是完全不同的、不兼容的类型,如果std::is_same<T,U>::value is false,即如果类型参数T and U不一样。

Use std::transform并在回调中进行适当的转换。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

铸造容器 C++ [重复] 的相关文章

随机推荐

  • 如何从包含像素的数组创建 BufferedImage?

    我从以下位置获取像素BufferedImage使用该方法getRGB 像素存储在名为的数组中data 对数据数组进行一些操作后 我需要创建一个BufferedImage再次这样我就可以将它传递给一个模块 该模块将显示来自该数据数组的修改后的
  • 将向量传递给函数 C++

    我有一个 main cpp test h 和 test cpp gt 我试图传递我的向量 以便我可以在 test cpp 中使用它 但我不断收到错误 file main cpp int main vector
  • Mod 将规则重写为 Zeus 服务器规则 (Codeigniter)

    我即将上线由 Codeigniter 提供支持的网站 我想从网址中删除index php 而不是这样 http www mysite com index php controller 我得到这样的东西 http www mysite com
  • 创建多个(15+)HTTP 响应过滤器,继承与组合与注入

    首先是关于我想要实现的目标的一些背景故事 我正在创建一个自定义 HTTP 模块 其目的是拦截发送到多个 15 不同 ArcGIS REST Web 服务的消息 拦截的请求和 或响应将被剥离基于当前用户的任何受限信息 例如 返回多个层的调用可
  • 这在 JavaScript 中叫什么? ({名称,值}) => [重复]

    这个问题在这里已经有答案了 在 JavaScript 中 在这种情况下 const component name value gt span span 其中箭头函数的第一个参数与其成员分开 props gt name value 这个叫什么
  • Skybox OpenGL ES iPhone 和 iPad

    我需要创建一个虚拟旅游工具iOS 这是一个考古应用程序 用户可以在历史建筑内或参观考古发掘时打开它 不需要末日般的主观观点 只是一个天空盒 该应用程序将包含一个兴趣点 POI 列表 每个 POI 都有自己的天空盒 我想我可以使用OpenGL
  • BufferedImage 意外改变颜色

    我有以下代码 它创建灰度 BufferedImage 然后设置每个像素的随机颜色 import java awt image BufferedImage public class Main public static void main S
  • Android:在缩放后找到ImageView上的绝对点击位置(使用矩阵布局使用捏合缩放)

    我正在使用 Hello Android 第 3 版中的代码来实现捏合缩放功能 使用此功能后 捏合缩放工作正常 但缩放后我想获得图像视图上的绝对单击位置 这是我的代码 package org example touch import andr
  • Youtube上传api重复视频(获取正确的ID)

    当视频重复时 假设 v GgVH5fXXYSE 有没有一种方法可以使用重复的 id 找到 好 视频 应该有效的视频 的 videoid 所以用 GgVH5fXXYSE 我可以找到 eNqZgEgOfsw 谢谢 不幸的是 没有办法获取这些信息
  • 测试折叠上的 CV 和欠采样

    我对构建具有不平衡数据的 ML 分类器有点迷失 80 20 数据集有30列 目标是标签 我想预测主要课程 我正在尝试重现以下步骤 分割训练 测试数据 在列车组上执行 CV 仅在测试折叠上应用欠采样 在 CV 的帮助下选择模型后 对训练集进行
  • 如何在 XSLT 中进行分页

    我有以下 XSLT
  • Oracle 中将字符串日期转换为日期时间

    我怎样才能把这个字符串日期转换为oracle中的日期时间 2011 07 28T23 54 14Z 使用此代码会引发错误 TO DATE 2011 07 28T23 54 14Z YYYY MM DD HH24 MI SS 如何才能做到这一
  • 如何在 UserControl 中显示 ObservableCollection

    我是 WPF 新手 我发现了一些类似的问题 但不太清楚最后一部分 我有一个带有 ObservableCollection 的 ViewModel 其中包含错误消息 我想在表单上显示这些消息并允许用户选择和复制全部或部分消息 过去在 WinF
  • subprocess.Popen("echo $HOME"... 和 subprocess.Popen(["echo", "$HOME"] 之间有什么区别

    我无法得到它是 bash 相关的或 python 子进程 但结果是不同的 gt gt gt subprocess Popen echo HOME shell True stdout subprocess PIPE communicate b
  • 如何使用 JavaScript 或 HTML 将文件输入设置为空?

    在我正在开发的网站上 我有一个文件输入 用户可以从中上传文件 它使用 Ajax 不是真正的 将文件发送到绑定到 iframe 的 php 文件 我的问题是 Firefox 自动填充文件输入元素 有没有办法让用户可以选择单击提交按钮而不发送文
  • 复制绘图区域在 Powerpoint VBA 中无法正常工作

    我拼凑了以下代码 将图表的格式从一个图表复制到另一个图表 代码仍然很混乱 因为我试图想出引用图表的最佳方法 欢迎任何想法 我无法准确复制主要是绘图区域和辅助访问的格式和位置 一个页面上必须有两个图表 首先选择源 然后选择目标 目前来看 它们
  • 自动滚动 Cypress 行为导致下拉菜单在 Cypress 测试中关闭。有解决方法吗?

    Cypress 的自动滚动行为正在关闭我试图在其中选择元素的下拉列表 这会导致测试失败 因为找不到第一个下拉项 我添加的解决方法是添加第二个 click 键入输入后重新打开下拉菜单 cy get selector click force t
  • SymPy:如何根据其他表达式返回一个表达式?

    我还很陌生SymPy并提出一个可能是基本问题的问题 或者我可能只是误解了 SymPy 的使用方式 有没有办法创建一个不由原子表示而是由其他表达式组合表示的表达式 Example gt gt gt from sympy physics uni
  • 当放入结构中时,值的寿命不够长

    我正在尝试使用 Rust 中的 LLVM这个板条箱 我正在尝试创建一个代码生成器结构来为我保存上下文 模块和构建器 但是当我尝试编译时 我收到一条错误消息 c does not live long enough 我怎样才能编译它 为什么 c
  • 铸造容器 C++ [重复]

    这个问题在这里已经有答案了 可能的重复 是否可以将 Base 类型的 STL 容器转换为 Derived 类型 这应该是一个简单的问题 如果我有一个基类的容器 例如 STL 列表 是否可以将整个容器转换为子类类型 例如 A inherits