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