c – 当我提供一个只接受无符号整数的有符号整数时,有没有办法让GCC提醒我?
作者:互联网
使用g编译时,此代码不会发出警告:
unsigned int myFunc(unsigned int integer) {
return integer;
}
int main() {
int x = -1;
std::cout << myFunc(x) << std::endl;
}
它编译得很好,但结果是错误的:4294967295.GCC是否有任何编译器-W *选项?
解决方法:
是的,-Wsign-conversion
请注意,-Wconversion不会为C代码启用此警告,尽管它适用于C代码.
标签:unsigned-integer,c,gcc,compiler-errors 来源: https://codeday.me/bug/20190722/1506731.html