Не существует многоступенчатого пользовательского неявного преобразования.
int -> bool -> A
разрешен, потому что преобразование int->bool
не определено пользователем.
1 Тип преобразования объектов класса может быть задан конструкторами и функциями преобразования. Эти преобразования называются пользовательскими преобразованиями и используются для неявных преобразований типов (раздел 4), для инициализации (8.5) и для явных преобразований типов (5.4, 5.2.9).
2 Определенные пользователем конверсии применяются только там, где они недвусмысленны (10.2, 12.3.2). Конверсии подчиняются правилам контроля доступа (раздел 11). Контроль доступа применяется после разрешения двусмысленности (3.4).
3 [Примечание: см. 13.3 для обсуждения использования преобразований в вызовах функций, а также примеры ниже. -End note]
4 Не более чем одно пользовательское преобразование (конструктор или функция преобразования) неявно применяется к одному значению.
blockquote>