C++ 为什么-Wfatal errors会关闭有关错误的注释,如何重新打开注释?

C++ 为什么-Wfatal errors会关闭有关错误的注释,如何重新打开注释?,c++,compilation,g++,C++,Compilation,G++,我经常使用-Wfatal errors进行构建,因为我不需要额外的100个无意义的错误,而编译器会在输入错误后英勇地尝试解析源文件的其余部分,从而使其变得无意义 但是,我注意到,这也会关闭有关致命错误本身的诊断注释。例如,对于-Wfatal errors,我会得到 main.cpp:10:2: error: invalid new-expression of abstract class type 'C' new C(); 然而,如果我没有启用-Wfatal errors,我会收到一条通知

我经常使用
-Wfatal errors
进行构建,因为我不需要额外的100个无意义的错误,而编译器会在输入错误后英勇地尝试解析源文件的其余部分,从而使其变得无意义

但是,我注意到,这也会关闭有关致命错误本身的诊断注释。例如,对于
-Wfatal errors
,我会得到

main.cpp:10:2: error: invalid new-expression of abstract class type 'C'
  new C();
然而,如果我没有启用
-Wfatal errors
,我会收到一条通知,告诉我忘记实现哪个虚拟方法:

class.hpp:15:2 note: because the following virtual functions are pure within 'C':
class.hpp:28:6   void C::f()

我可以在保留一个错误后终止的行为的同时收回这些注释吗?

您正在查找
-fmax errors=1
。这将在第一个错误后终止编译,但仍会显示该错误的注释

下面是一个比较这些标志效果的示例