为什么编译器在括号中出现错误时不会抛出错误?

时间:2015-01-15 19:10:36

标签: c++

简历:我正在编写一个MessageBox函数,但出于某种原因,我有兴趣知道在删除他的名字时出现的错误,而不是参数,代码看起来像这样: / p>

//Before removing the name.
MessageBox(NULL, TEXT("Test MessageBox"), TEXT("Test"), MB_OK);

//After removing the name.
(NULL, TEXT("Test MessageBox"), TEXT("Test"), MB_OK); // <- This don't thrown error...

当我点击编译时,我意识到不留下任何错误,确实,不是IntelliSense抛出错误,我很惊讶,程序本身运行完美,但显然没有显示任何对话框或消息框。

根据发生的事情,我想解决以下问题:

  • 将参数留在括号中时会发生什么?为什么没有发生?

  • 这对一些相当大的程序有什么影响?离开它是一个严重的错误吗?

  • 该程序会更重吗?或者编译器会将此考虑在内?

提前致谢...

PD:该应用程序是使用Visual Studio 2013编译的。

0 个答案:

没有答案