170 похожих чатов

O/ Почему приведение типов C -> B -> A не срабатывает,

а приведение типов D -> char* -> bool срабатывает?
https://pastebin.com/1hHWsbxD

10 ответов

8 просмотров

Потому что язык такой...

Потому что в цепочке конверсий может быть сколько угодно стандартных преобразований, но не более одной пользовательской Более точную информацию можно найти здесь

Проще сказать, вот это вот D -> char* -> bool - это два преобразования, специально встроенные в язык, а для CBA конечно ничего такого не будет.

anton
спасибо!

D* должно же быть, да ?

anton- Автор вопроса
Ilya Zviagin
D* должно же быть, да ?

хз, gcc и clang компилируют пример без ошибок

а, там у тебя ещё и оператор приведения есть.... ууу...

anton
хз, gcc и clang компилируют пример без ошибок

struct D { operator char*() { return nullptr; } }; это формально неверно. nullptr не типа char *

Ilya Zviagin
struct D { operator char*() { return nullptr; } };...

Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!

Похожие вопросы

Обсуждают сегодня

Hi there everyone Is there anyone who have not started hamster bot yet? I need only one, I'll be glad if you do this for me DM if you haven't yet
Mehrshad
53
всем привет! у кого есть опыт подписания и нотаризации electron приложений для macos? такая проблема: использовал @electron/osx-sign и notaritool. процесс подписания и нотараз...
Артем Клементьев
11
@Dreamer_0x01 @helgispbru @Ambrion Разговор шёл об уязвимости. Меня беспокоит именно она. Все прочие вопросы, а равно и жизненная мудрость - пока в сторону :) Так вот сам ...
Андрей [aharito] Харитонов
9
Тут кто-то шарит в мед оборудовании?
Benz
10
why some site like google has separate page for username/email and password?
Mr Thieves
21
Может быть небольшое отступление, но я тут решил обратить внимание на то, сколько весит хелловорлд на с++... Зачем он весит почти 250 Кб? У меня оконное приложение на фасме ве...
The Bird of Hermes
14
А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
What do you wanna learn?
Malware ( DM = BLOCK )
12
Нерж, можешь написать фреймворк на Свифте для браузерных игр?
Karl {🌪️}{🐊} Shinobi
6
Подскажите, сейчас что то есть (JS модуль какой-нибудь), что можно использовать для: 1) переваривания javascript codа из html fileа, т.е. разбивки, на переменные, команды, бло...
Iar De
32
Карта сайта