問題タブ [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.

0 投票する
2 に答える
1595 参照

c++ - shared_ptr と weak_ptr が失敗する些細なケース

shared_ptrとをweak_ptr一緒に使用するのに問題がありenable_shared_from_thisます。

私が見ている症状をグーグルで検索すると、誰もが「オブジェクトを所有するインスタンスshared_from_this()がない場合は使用できません。shared_ptr

しかし、それは私の場合ではありません。

次のコードを検討してください。

どちらの方法でMyClassもプログラムがクラッシュします。明らかな何かが欠けているに違いありません - それは何ですか?

0 投票する
2 に答える
337 参照

c++ - スーパークラスとサブクラスの両方で std::enable_shared_from_this を使用するにはどうすればよいですか?

と の 2 つのクラスがAありBBは のサブクラスですA。使用するには両方のクラスが必要std::enable_shared_from_thisです。

私はこれを試しました:

shared_from_this()(あいまいになるのを避けるために、で完全に修飾する必要がありましたB::insertme。)

上記のプログラムを実行すると、次の出力が得られます。

動作A::insertmeしますが、B::insertme動作しません。

Linux で GCC 9.1.0 を使用しています。

私は何を間違っていますか?