在if块的大括号后面放分号是错误的吗?

Is it wrong to put semicolon after braces of if block?

本文关键字:错误 if      更新时间:2023-10-16

我使用msvc++ 2008和2010,我对自动格式化有点困惑。当我写这样的代码时:

if(true)
    if(true)
    {
    }
    if(true)
    {
    }

,然后我按CTRL+F,但什么也没有发生,最后一个条件保持在原地,但它应该与第一个条件对齐。如果我在第二个条件的大括号后添加分号,行为将改变为正确的方式:

if(true)
    if(true)
    {
    };
if(true)
{
}

那么问题是,根据c++标准,在条件后添加分号是正确的还是仅仅是msvc++的不正确行为?

分号完全是多余的。