а приведение типов D -> char* -> bool срабатывает?
https://pastebin.com/1hHWsbxD
Потому что язык такой...
Потому что в цепочке конверсий может быть сколько угодно стандартных преобразований, но не более одной пользовательской Более точную информацию можно найти здесь
Проще сказать, вот это вот D -> char* -> bool - это два преобразования, специально встроенные в язык, а для CBA конечно ничего такого не будет.
D* должно же быть, да ?
хз, gcc и clang компилируют пример без ошибок
а, там у тебя ещё и оператор приведения есть.... ууу...
struct D { operator char*() { return nullptr; } }; это формально неверно. nullptr не типа char *
Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
Обсуждают сегодня