gpt4 book ai didi

c++ - Werror 不会将所有警告都变成错误

转载 作者:搜寻专家 更新时间:2023-10-30 23:58:01 25 4
gpt4 key购买 nike

一般来说,标志位-Werror就是让所有的警告都变成错误。但它并不总是相同的。

int j;

int main()
{
int i = 10;
return 0;
}

如果我输入g++ -Werror main.cpp,没有任何提示。
如果我键入 g++ -Wall main.cpp,则会出现警告:

main.c: In function ‘main’: main.c:5:9: warning: unused variable ‘i’ [-Wunused-variable]

谁能解释一下?

此外,

  1. 为什么没有关于变量 j 的警告?
  2. 如何删除“警告被视为错误”?

谢谢。

最佳答案

-Werror 将其他开关定义的所有警告转换为错误,因此您必须使用 -Wall 以及 -Werror .

g++ -Werror -Wall main.cpp

此外,由于 j 没有被标记为 static,因此无法保证它不会在其定义的编译单元之外使用,因此编译器不能假定它未被使用。

关于c++ - Werror 不会将所有警告都变成错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22177196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com