假设我有以下示例代码:
class Base {};
class Derived : public Base {};
class A {
virtual shared_ptr<Base> method();
};
class B : public A {
virtual shared_ptr<Derived> method() override;
};
我收到以下错误(使用VS 2013):
错误C2555:&#39; B ::方法&#39;:覆盖虚函数返回类型不同且不是&#39; A :: method&#39;
我认为问题是shared_ptr<Derived>
不是{/ 1}}的特殊化/不继承{.1}。
有没有办法让共享指针用于继承?