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?