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