вопрос немного глупый, но все же, есть кусочек кода
void func(uint16_t value){
...
if(a == ~value){...}
else{...}
...
}
возникает проблема при "~value" он превращается в 32-битное значение, это ошибка компилятора или в стандарте определенно что при инверсии может преобразоваться в другой тип данных?