Doble herencia de enable_shared_from_this
Tengo un objeto (Z) que deriva de otros dos objetos (A y B).
A y B se derivan deenable_shared_from_this<>
respectivamenteenable_shared_from_this<A>
yenable_shared_from_this<B>
.
Claro que llamoshared_from_this()
en Z. Y, por supuesto, el compilador informa que esto es ambiguo.
Mis preguntas son:
¿Es seguro heredar dos veces deenable_shared_from_this<>
o creará dos recuentos de referencias separadas (¡mal!)Si no es seguro, ¿cómo resuelvo esto?Nota: he encontrado esta otra preguntamal puntero débil cuando la base y la clase derivada heredan de boost :: enable_shared_from_this pero en realidad no responde. ¿Debo usar elvirtual
truco tambien