Задать вопрос
Qubc
@Qubc
Ненавижу полисемию.

Почему компилятор не предупреждает о преобразовании int в uint8_t?

#include <cstdint>
int main(void) {
    uint8_t mask1 { ~1 };// error: narrowing conversion of '-2' from 'int' to 'uint8_t' {aka 'unsigned char'} [-Wnarrowing]
    uint8_t mask2 = ~1 ;// Почему здесь ошибка не возникает?     
    return 0;
}

gcc, msvc.
  • Вопрос задан
  • 405 просмотров
Подписаться 3 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Учебная программа “Разработка программного обеспечения”
    30 месяцев
    Далее
Решения вопроса 1
@serhiops
Python/JavaScript/C++
При unform инициализации проверяется тип, чего не происходить при инициализации копированием
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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