我想分享我在代码中所做的这个错误,这是一个很难找到的错误:
#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();
}
}
它在哪里?
答案 0 :(得分:10)
错误在评论中:对于我们来说,最后的\字符代表一个目录,对于编译器,它意味着以下行是当前行的一部分。 当然,每个开发人员都知道,但在这种情况下,这个细节很好地隐藏了。
答案 1 :(得分:2)
很好,MSDN称之为line splicing。
以反斜杠(
\
)结尾并紧跟换行符的所有行与源文件中的下一行连接,形成来自物理行的逻辑行。除非它是空的,否则源文件必须以不带反斜杠的换行符结尾。