Многократное неявное преобразование конструктора

Кажется, что неявное преобразование конструктора работает только с одним преобразованием.

class A {
public:
    A(std::string s) {}
};
class B {
public:
    B(A a) { }
};

С приведенным выше кодом, работает

B b{std::string("Hey")};

работает отлично.

С другой стороны,

B b{"Hey"};

не.

Действительно ли преобразование конструктора работает только с одним преобразованием, и почему это так? Чтобы избежать возможной неоднозначности, когда предоставляются разные конструкторы?

Ответы на вопрос(2)

Ваш ответ на вопрос