Doppelte Vererbung von enable_shared_from_this

Ich habe ein Objekt (Z), das von zwei anderen Objekten (A und B) abgeleitet ist.

A und B stammen beide vonenable_shared_from_this<>, beziehungsweiseenable_shared_from_this<A> undenable_shared_from_this<B>.

Natürlich rufe ich anshared_from_this() auf Z. Und natürlich meldet der Compiler dies als mehrdeutig.

Meine Fragen sind:

ist es sicher, zweimal von zu erben?enable_shared_from_this<> oder werden zwei getrennte Referenzzählungen erstellt (schlecht!)Wenn nicht sicher, wie löse ich das?

Hinweis: Ich habe diese andere Frage gefundenSchlechter schwacher Zeiger, wenn sowohl die Basis- als auch die abgeleitete Klasse von boost :: enable_shared_from_this erben aber es antwortet nicht wirklich. Soll ich das benutzen?virtual Trick auch?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage