Qraizer Цитата: Раз уж ты с ним на короткой ноге
отнюдь. писал ему впервые и абсолютно не расчитывал получить ответ.
Цитата: Вон, даже Intel ею пользуется, т.к. постоянно следить за развитием C++ им не улыбается
ага, учитывая, что как минимум трое из четырех разработчиков EDG "подрабатывают"над разработкой стандарта (как у Хазанова: "я и участник конкурса и председатель жюри")
Цитата: почему Intel C++ и Comeau используют их родимый фронтэн
попробую отписать в саппорт Intel - посмотрим что скажут (если вообще чего-то скажут)
Цитата: чем кардинально отличается этот случай от твоего второго примера?
наличием const. при рассмотрении мемберов ( я об этом-то и забыл) участвует первым неявным аргументом ссылка на тип класса
operator A() const - формально operator A(const С&)
operator B() - формально operator B(С&)
поскольку вызов не константный:
C c;
f(c);
выберется operator B(), т.к. для второго оператора нужно неявный аргумент свести к const
А дальше как раз и учитывается длина цепочки
Добавлено: Qraizer дополню:
operator short() - формально operator short(B&)
operator Dummy() - формально operator Dummy(B&)
неоднозначность по неявному аргументу, а возвращаемые типы в перегрузке не участвуют и дело до анализа цепочек не доходит.