如何让 gcc 警告缩小函数参数
How to make gcc warn about narrowing function parameters
下面的程序涉及隐式缩小的函数参数。信息可能会丢失。
void func(short) {}
int main()
{
int i = 0x7fffffff;
func(i);
}
如果我使用 gcc 使用 -Wall -Wextra
编译此程序(作为 C 或 C++),我收到 没有警告!
当然,这种行为通常会被认为是不可取的。
是否有一些 gcc 命令行参数会在发生这些缩小转换时触发诊断消息?
对 gcc/clang 使用 -Wconversion
。 /W4
可用于 VC++。
下面的程序涉及隐式缩小的函数参数。信息可能会丢失。
void func(short) {}
int main()
{
int i = 0x7fffffff;
func(i);
}
如果我使用 gcc 使用 -Wall -Wextra
编译此程序(作为 C 或 C++),我收到 没有警告!
当然,这种行为通常会被认为是不可取的。
是否有一些 gcc 命令行参数会在发生这些缩小转换时触发诊断消息?
对 gcc/clang 使用 -Wconversion
。 /W4
可用于 VC++。