warning: control reaches end of non-void function [-wreturn-type]
时间: 2023-04-18 10:02:09 浏览: 114
这个错误信息表示,在程序执行到函数的末尾时,编译器发现这个函数没有返回值。这是因为在这个函数的定义中没有包含 return 语句,或者 return 语句可能存在语法错误。您需要在函数的末尾添加一个 return 语句并返回一个有效的值,或者更改函数的返回类型为 void。
相关问题
void函数报错warning: control reaches end of non-void function
这个错误提示表明你的函数返回类型应该是非 void 类型,但是在函数体内没有返回语句。因此编译器无法确定该函数的返回值,会发出警告。
你需要在函数体内添加一个返回语句,确保函数返回一个值。如果你的函数确实不需要返回值,那么你需要将函数的返回类型修改为 void。
下面是一些示例代码,演示如何修复这个错误:
```
// 返回类型为 int,但是函数体内没有返回语句
int foo() {
// do something
}
// 修复方法一:在函数最后添加一个返回语句
int foo() {
// do something
return 0; // 或者其他你需要的返回值
}
// 修复方法二:将返回类型修改为 void
void bar() {
// do something
}
```
[Warning] control reaches end of non-void function [-Wreturn-type]
这个警告意味着你的函数没有正确地返回一个值或者没有返回值。在 C++ 中,所有的非 void 函数都应该返回一个值。如果你的函数没有返回值,你应该将其声明为 void 类型。
你需要检查你的函数是否有正确的返回语句,或者在函数的末尾添加一个默认的返回语句。如果你的函数确实没有返回值,你需要将其声明为 void 类型。