编译报错:error: control reaches end of non-void function [-Werror=return-type]
在编译时报了如下错误:error: control reaches end of non-void function [-Werror=return-type]
60 | }
| ^
报错原因: 非 void 函数在所有代码路径上没有返回值。编译器期望所有可能的执行路径都明确返回一个值,否则会产生此错误。
解决方法:
- 检查函数签名
确保函数的返回类型不是 void,并根据需要返回一个适当的值。例如,如果函数定义为返回 int,那么所有可能的代码路径必须返回一个 int 类型的值。 - 添加默认返回值
在函数的所有代码路径中确保有明确的返回值。