参照カウント ポインター (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:現時点では不可能なので、スマート ポインターで標準ライブラリを使用するように言わないでください。