【发布时间】:2010-09-12 00:06:25
【问题描述】:
考虑这些类。
class Base
{
...
};
class Derived : public Base
{
...
};
这个函数
void BaseFoo( std::vector<Base*>vec )
{
...
}
最后是我的向量
std::vector<Derived*>derived;
我想将derived 传递给函数BaseFoo,但编译器不让我这样做。在不将整个向量复制到 std::vector<Base*> 的情况下,如何解决这个问题?
【问题讨论】:
-
我认为您需要澄清 BaseFoo 是打算通过 const 引用还是非常量引用来获取向量(按值获取它是非常不寻常的)。也就是说BaseFoo需要修改vector吗?
标签: c++ stl vector covariance