![](/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.