【发布时间】:2017-04-24 06:31:20
【问题描述】:
我目前正在尝试将<int, Derived> 的多个映射存储在基类的向量中。
例子:
std::map<int, Derived_1 *> map_1 = smth;
std::map<int, Derived_2 *> map_2 = smth_else;
std::vector<std::map<int, Base *>> list;
list.push_back(map_1);
list.push_back(map_2);
但是,在编译时,我得到了派生映射和基类之间没有转换的错误。
有没有更好的(或简单有效的)方法来解决这个问题?提前致谢。
【问题讨论】:
-
即使
list[0]是std::map<int, Derived_1 *>,你也可以这样做list[0][0] = new Derived_2;。