![](/img/trans.png)
[英]C++ How to set a pointer of type std::vector<Derived*> to object of type std::vector<Base*>
[英]C++ casting a std::vector<Derived>* to std::vector<Base> …?
我正在制作指向向量的指針的向量:
std::vector<std::vector<Base>*> all; // vector keeping pointers to vectors
問題是我有幾個派生類的向量:
std::vector<Derived1> derived1; // vector of derived class
std::vector<Derived2> derived2; // vector of derived class
std::vector<Derived3> derived2; // vector of derived class
有什么安全的方法可以將指針的類型從vector<DerivedX>
更改為vector<Base>
嗎?
每個派生類都具有某些行為,並且在程序的大部分時間內都將存活。
如果出現有關細節的任何問題,我仍然不能很好地解釋我的編程問題-請在評論中提問。
不,那是不可能的。 std::vector<Base>
與std::vector<Derived>
之間沒有關系。
換句話說: std::vector<Derived>
不是從std::vector<Base>
派生的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.