我希望编译器能够在我没有处理每个if语句的else条件时发出警告。这在clang或gcc中存在吗?
为了澄清,我不是想让所有源代码都开启此功能。然而,有时候整个文件或大片代码区域都需要仔细思考每个else块的设计。因此,我真正在寻找的是能够打开和关闭的pragma,以便在几千行非常重要的代码中启用和禁用此功能。可将其视为自动化代码审查或静态分析工具。
说编译器无法执行此操作,因为它是合法的...是实践中不存在的问题。我见过的每个C / C ++编译器都会很乐意针对完全符合语法和语义规范的代码发出大量警告。(例如,在gcc中,-Wunused-value,-Wunused-label,-Wunreachable-code等...)
为了澄清,我不是想让所有源代码都开启此功能。然而,有时候整个文件或大片代码区域都需要仔细思考每个else块的设计。因此,我真正在寻找的是能够打开和关闭的pragma,以便在几千行非常重要的代码中启用和禁用此功能。可将其视为自动化代码审查或静态分析工具。
说编译器无法执行此操作,因为它是合法的...是实践中不存在的问题。我见过的每个C / C ++编译器都会很乐意针对完全符合语法和语义规范的代码发出大量警告。(例如,在gcc中,-Wunused-value,-Wunused-label,-Wunreachable-code等...)
throw
、break
、return
或continue
的if
语句都有一个隐式的else
:即条件之后的代码。在此要求显式的else
语句是不合适的。 - edA-qa mort-ora-y