¿Debe enable_shared_from_this ser la primera clase base?

Mi clase hereda de múltiples bases, una de las cuales es std::enable_shared_from_this. ¿Debe ser la primera base? Supongamos el siguiente código de ejemplo: struct A { ~A(); }; struct B { ~B(); }; struct C : A, B, std::enable_shared_from_this<C> {}; std::make_shared<C>(); Cuándo...