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>&nbsp;yenable_shared_from_this<B>.

Claro que llamoshared_from_this()&nbsp;en Z. Y, por supuesto, el compilador informa que esto es ambiguo.

Mis preguntas son:

¿Es seguro heredar dos veces deenable_shared_from_this<>&nbsp;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&nbsp;pero en realidad no responde. ¿Debo usar elvirtual&nbsp;truco tambien