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?