我实现了引用计数指针(SP在示例中调用),我遇到了多态性问题,我认为我不应该这样做.
在以下代码中:
SP<BaseClass> foo()
{
// Some logic...
SP<DerivedClass> retPtr = new DerivedClass();
return retPtr;
}
Run Code Online (Sandbox Code Playgroud)
DerivedClass继承自BaseClass.使用普通指针这应该有效,但是它说的是智能指针"cannot convert from 'SP<T>' to 'const SP<T>&",我认为它指的是智能指针的复制构造函数.
如何通过引用计数指针允许这种多态性?我很欣赏代码示例,如果我遇到这个问题,显然我在这里做错了.
PS:请不要告诉我使用带有智能指针的标准库,因为目前这是不可能的.