readability-avoid-return-with-void-value¶
Finds return statements with void
values used within functions with
void
result types.
A function with a void
return type is intended to perform a task without
producing a return value. Return statements with expressions could lead
to confusion and may miscommunicate the function’s intended behavior.
Example:
void g();
void f() {
// ...
return g();
}
In a long function body, the return
statement suggests that the function
returns a value. However, return g();
is a combination of two statements
that should be written as
g();
return;
to make clear that g()
is called and immediately afterwards the function
returns (nothing).
In C, the same issue is detected by the compiler if the -Wpedantic
mode
is enabled.
Options¶
- IgnoreMacros¶
The value false specifies that return statements expanded from macros are not checked. The default value is true.
- StrictMode¶
The value false specifies that a direct return statement shall be excluded from the analysis if it is the only statement not contained in a block, like
if (cond) return g();
. The default value is true.