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.
  • Вопрос задан
  • 370 просмотров
Решения вопроса 1
@serhiops
Python/JavaScript/C++
При unform инициализации проверяется тип, чего не происходить при инициализации копированием
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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