Задачи и тесты по программированию | proghub
2.42K subscribers
655 photos
16 videos
23 files
915 links
Публикуем задачи и вопросы для подготовки к собесу.

Сотрудничество: @cyberJohnny
Download Telegram
Какая строка приведет к ошибке компиляции?
Anonymous Quiz
20%
3
19%
6
20%
7
9%
8
16%
9
17%
ошибок нет
👆Объяснение к предыдущему вопросу

👨🏻‍💻 Если тип T встраивает тип X, то T получает все методы X. В частности, если X является типом интерфейса, вложение заставляет T реализовать X. Программа скомпилируется, но в ходе выполнения выкинет панику с ошибкой переполнения стека.

Задачи и тесты по программированию
👆Пояснение к предыдущему вопросу

👨🏻‍💻 Так как функция call_with вызывается без шаблонов, компилятор попытается вывести тип T сам. Так как lambda не является std::function, то внутренний тип вывестись не может, и компилятор должен выкинуть ошибку.

Условно, C++ не разрешает конвертацию в шаблонный тип, потому что не понимает какая конвертация должна совершиться, какую std::function<void(T)> выбрать.

Задачи и тесты по программированию | proghub