Enable_shared_from_this deve ser a primeira classe base?

Minha classe herda de várias bases, uma das quais é std::enable_shared_from_this. Deve ser a primeira base? Suponha o seguinte código de exemplo: struct A { ~A(); }; struct B { ~B(); }; struct C : A, B, std::enable_shared_from_this<C> {}; std::make_shared<C>(); Quando ~A()e...