Вероятно да
С другими типами работает
странно тогда
Лол и правда Странно
мб у стринги какой-то оператор ёлочек особенный?
Ну там да, он не среди базовых перегрузок, но через адл найтись должен
ну с кастомным классом тоже работает
а с какими именно? Судя по выхлопу адл чёт не срабатывает вообще, и рассматриваются только базовые перегрузки острима. Если взять какой-то complex то так же не сработает
Ну вот с базовыми и работает)
Если взять свой класс и пихнуть в неймспейс даже, то работает
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::operator<< <std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*) вот что вызывается для строки думаю, поэтому и не работает test<string>, потому что два преобразования нужны
короче я голосую за то, что при рассмотрении адл все конверсии не рассматриваются
оно с любым типом не работает, который в базовые перегрузки не входит
Не совсем так Просто "при адл конверсии не рассматриваются"
но мсвц добавляет (or no suitable conversion found)
Ну с базовыми же работает
Ну это не адл же
Ну так-то да, но я уже сказал, я пихнул свой класс в неймспейс и всё равно работало
Не думаю. Adl пополняет ovetload set, он не является механизмом выбора перегрузки per se
Обсуждают сегодня