Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 当我向只接受无符号整数的函数提供有符号整数时,有没有办法让GCC提醒我?_C++_Gcc_Compiler Errors_Unsigned Integer - Fatal编程技术网

C++ 当我向只接受无符号整数的函数提供有符号整数时,有没有办法让GCC提醒我?

C++ 当我向只接受无符号整数的函数提供有符号整数时,有没有办法让GCC提醒我?,c++,gcc,compiler-errors,unsigned-integer,C++,Gcc,Compiler Errors,Unsigned Integer,当使用g++编译时,此代码不会给我任何警告: unsigned int myFunc(unsigned int integer) { return integer; } int main() { int x = -1; std::cout << myFunc(x) << std::endl; } unsigned int myFunc(unsigned int integer){ 返回整数; } int main(){ int x=-1; std::cout

当使用
g++
编译时,此代码不会给我任何警告:

unsigned int myFunc(unsigned int integer) {
  return integer;
}
int main() {
  int x = -1;
  std::cout << myFunc(x) << std::endl;
}
unsigned int myFunc(unsigned int integer){
返回整数;
}
int main(){
int x=-1;

std::cout是,
-Wsign转换


谨防> WTIFE> 不允许对C++代码进行警告,虽然它对C代码是有用的。

有一个小小的警告,我大概应该提纲,因为它可能有点棘手,容易混淆。 编译

C
code
-Wconversion
通常就足够了,因为它会自动触发几个其他标志

编译
C++
code
-Wconversion
不会触发与
C
中的
gcc
完全相同的标志,因此您应该使用
-Wsign conversion-Wconversion


不可能把C++问题标记为C。这个问题现在显然不是一个重复,因为C标签已经被删除了,另一个问题只有C,并且其他问题的答案在这里不起作用。我想,这个问题可以被标记为这个问题的一个复制品,因为这里的答案是C:-我是关于。说Steve Jessop所说的:我不认为这是另一个复制品,因为一个是C,另一个是C++,它们是紧密相关的,不是重复的。