#include <boost/smart_ptr.hpp>
class Base {
};
class Derived : public Base {
public:
Derived() : Base() {}
};
void func(/*const*/ boost::shared_ptr<Base>& obj) {
}
int main() {
boost::shared_ptr<Base> b;
boost::shared_ptr<Derived> d;
func(b);
func(d);
}
这与 func 签名中的 const 一起编译,但不是没有它。错误出现在调用的行中func(d);
对我有什么提示吗?