我目前正試圖在基類的向量中存儲<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',你也可以執行'list [0] [0] = new Derived_2;'。 –
molbdnilo