Herança dupla de enable_shared_from_this

Eu tenho um objeto (Z) que deriva de dois outros objetos (A e B).

A e B ambos derivam deenable_shared_from_this<>, respectivamenteenable_shared_from_this<A> eenable_shared_from_this<B>.

Claro que eu chamoshared_from_this() em Z. E, claro, o compilador relata isso como ambíguo.

Minhas perguntas são:

é seguro herdar duas vezesenable_shared_from_this<> ou criará duas contagens de referência separadas (ruim!)Se não for seguro, como resolvo isso?

Nota: encontrei esta outra perguntaponteiro fraco fraco quando base e classe derivada ambos herdam de boost :: enable_shared_from_this mas isso realmente não responde. Devo usar ovirtual truque também?

questionAnswers(2)

yourAnswerToTheQuestion