我经常使用-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()我可以拿回这些笔记,同时仍然保留我在单个错误后终止的行为吗?
发布于 2020-08-29 02:30:04
你在找-fmax-errors=1。这将在出现第一个错误后终止编译,但仍会显示该错误的注释。
下面是一个比较这些标志效果的demo。
https://stackoverflow.com/questions/63639034
复制相似问题