Двойное наследование enable_shared_from_this
У меня есть объект (Z), который происходит от двух других объектов (A и B).
А и В оба происходят изenable_shared_from_this<>
соответственноenable_shared_from_this<A>
а такжеenable_shared_from_this<B>
.
Конечно звонюshared_from_this()
на Z. И, конечно, компилятор сообщает, что это неоднозначно.
Мои вопросы:
безопасно ли наследовать дважды отenable_shared_from_this<>
или он создаст два отдельных счетчика ссылок (плохо!)Если не безопасно, как мне решить эту проблему?Примечание: я нашел этот другой вопросплохой слабый указатель, когда базовый и производный класс наследуются от boost :: enable_shared_from_this но это на самом деле не отвечает. Должен ли я использоватьvirtual
трюк тоже?