問題タブ [enable-shared-from-this]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - shared_ptr と weak_ptr が失敗する些細なケース
shared_ptr
とをweak_ptr
一緒に使用するのに問題がありenable_shared_from_this
ます。
私が見ている症状をグーグルで検索すると、誰もが「オブジェクトを所有するインスタンスshared_from_this()
がない場合は使用できません。shared_ptr
しかし、それは私の場合ではありません。
次のコードを検討してください。
どちらの方法でMyClass
もプログラムがクラッシュします。明らかな何かが欠けているに違いありません - それは何ですか?
c++ - スーパークラスとサブクラスの両方で std::enable_shared_from_this を使用するにはどうすればよいですか?
と の 2 つのクラスがA
ありB
、B
は のサブクラスですA
。使用するには両方のクラスが必要std::enable_shared_from_this
です。
私はこれを試しました:
shared_from_this()
(あいまいになるのを避けるために、で完全に修飾する必要がありましたB::insertme
。)
上記のプログラムを実行すると、次の出力が得られます。
動作A::insertme
しますが、B::insertme
動作しません。
Linux で GCC 9.1.0 を使用しています。
私は何を間違っていますか?