循环后检测分号/如果括号

Nie*_*eru 6 c c++ compiler-construction gcc clang

在GCC中是否有任何标志(如-Wempty-body在clang中),这可以帮助我在while/for循环的大括号后检测分号?有时人类很难找到这些简单的错误.

int i = 0;
for (i = 0; i < 10; ++i);
{
    cout << i << endl;
}
Run Code Online (Sandbox Code Playgroud)

我使用GCC 4.7.3和clang 3.2-1~exp9ubuntu1.

编辑:我还检查编译器是否可以帮助我在"if-else语句"之后发现这些错误.

if (i == 0)
{
    cout << i << endl;
}
else;
{
    cout << i << endl;
}
Run Code Online (Sandbox Code Playgroud)

什么是有趣的gcc比clang更有用(-Wall -pedantic -Wempty-body通过打印警告使用此flags():

main.cpp:30:9: warning: suggest braces around empty body in an ‘else’ statement [-Wempty-body]
Run Code Online (Sandbox Code Playgroud)

Abh*_*don 2

尝试

$gcc -Wempty-body foo.c

或者

gcc -Wextra -c foo.c

  • 这对 gcc/g++ 4.7.2 不起作用(或者至少在我的计算机上不起作用) (3认同)