Я початківець на C ++, і я читаю програмування Бьярна Страуструпа: Принципи та практика використання C ++ .
У розділі про 3.9.2 небезпечні перетворення автор згадав
Коли ініціалізатором є цілочисельний літерал, компілятор може перевірити фактичне значення та прийняти значення, які не передбачають звуження:
int char b1 {1000}; // error: narrowing (assuming 8-bit chars)
Я здивований цією заявою. Він використовує два типи ( int
і char
). Я ніколи раніше не бачив такої заяви в Java та Swift (дві мови, якими я відносно знайомий). Це друкарська помилка чи дійсний синтаксис C ++?