私は次のCコードを持っています:
typedef unsigned char uint8_t;
void main(void) {
uint8_t a = 1, b = 2, res;
res = a + b;
}
を使用してこのコードをコンパイルするとgcc -Wconversion
、次の警告が表示されます。
test.c: In function 'main':
test.c:5:10: warning: conversion to 'uint8_t' from 'int' may alter its value [-Wconversion]
誰かがこの警告が表示される理由を説明できますか? 3 つの変数はすべて typeであるため、 がどこから来るuint8_t
のかよくわかりません。int