所以我有类似的东西
class baseclass {
....
}
class derived : public baseclass {
...
}
void func(boost::shared_ptr<baseclass>& a){
//stuff
}
boost::shared_ptr<derived> foo;
func(foo);
这行得通吗?我假设不是因为它的类型不同,但是我不具备将其转换为正确类型的能力,那么您能想到任何解决方法可以使这项工作吗?
编辑:据我所知,我无法进行强制转换的原因是因为我正在对类型向量进行排序,boost::shared_ptr<derived>
所以我只使用 vec.begin() 和 vec.end() 调用 sort