readability-avoid-return-with-void-value¶
查找在返回值类型为 void
的函数中使用 void
值的 return 语句。
返回值类型为 void
的函数旨在执行一项任务而不产生返回值。带有表达式的 return 语句可能会导致混淆,并可能误传函数的预期行为。
示例
void g();
void f() {
// ...
return g();
}
在一个很长的函数体中,return
语句表明函数返回值。但是,return g();
是两个语句的组合,应该写成
g();
return;
以清楚地表明 g()
被调用,并且之后函数立即返回(无返回值)。
在 C 中,如果启用了 -Wpedantic
模式,编译器会检测到同样的问题。
选项¶
- IgnoreMacros¶
值 false 指定从宏扩展的 return 语句不被检查。默认值为 true。
- StrictMode¶
值 false 指定如果直接 return 语句是唯一未包含在块中的语句,则将其从分析中排除,例如
if (cond) return g();
。默认值为 true。