通常,标志-Werror
会使所有警告都出错。但它并不总是一样的。
int j;
int main()
{
int i = 10;
return 0;
}
如果我输入g++ -Werror main.cpp
,则没有任何提示
如果我输入g++ -Wall main.cpp
,则会出现警告:
main.c:在函数'main'中:main.c:5:9:警告:未使用的变量'i' [-Wunused可变]
任何人都可以解释一下吗?
此外,
j
?感谢。
答案 0 :(得分:7)
-Werror
将其他开关定义的所有警告变为错误,因此您必须使用-Wall
以及-Werror
。
g++ -Werror -Wall main.cpp
此外,由于j
未标记为static
,因此无法保证它不会在其定义的编译单元之外使用,因此编译器不能认为它未被使用