在带有语句的行之前通过单行注释的错误

Pie*_*tro 12 c++ comments

可能重复:
在'{'之前不允许使用函数定义

我想分享我在我的代码中做的这个错误,这是一个很难找到的错误:

#include <iostream>

void StartNuclearWar() {
    std::cout << "War in progress..." << std::endl;
}

int main()
{
    int a = 0;

    // Get activation codes from C:\codes\
    a = 1;

    if(a == 0) {
        StartNuclearWar();
    }
}
Run Code Online (Sandbox Code Playgroud)

它在哪里?

Pie*_*tro 10

错误在评论中:对于我们来说,最后的\字符表示一个目录,对于编译器,它意味着以下行是当前行的一部分.当然,每个开发人员都知道这一点,但在这种情况下,这个细节很好地隐藏了.

  • 注意编译器警告可以显着帮助搜索此类错误.当提供`-Wcomment`(`-Wall`)时,`MSVC`默认生成警告`gcc`. (3认同)