其他分享
首页 > 其他分享> > c – 当我提供一个只接受无符号整数的有符号整数时,有没有办法让GCC提醒我?

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