int foo(int x){return 5; }
C编译器给我一个关于未引用的形式参数的警告.当我删除“x”以使签名读取“int foo(int)”时,编译器很高兴.
另一方面,C编译器喜欢命名参数,并在未命名时发出警告.
编辑:它发出错误,而不是警告.
为什么不同?理由是什么?
附:我正在使用GNU编译器工具链.
int f(to) double to; { return to; }
所以基本上当它只看到一个标识符时,它必须假设这是一个变量名而不是一个类型.