我有这个警告。
warning : 'return' with no value, in function returning non-void.
最佳答案
你有这样的东西:
int function(void)
{
return;
}
添加返回值,或将返回类型更改为void。
错误信息很清楚:
warning : 'return' with no value, in function returning non-void.
没有值(value)的返回与我展示的相似。该消息还告诉您,如果该函数返回“void”,则不会发出警告。但是因为该函数应该返回一个值但您的“return”语句没有,所以您遇到了问题。
这通常表示古老的代码。在 C89 标准之前的日子里,编译器不一定支持“void”。当时接受的风格是:
function_not_returning_an_explicit_value(i)
char *i;
{
...
if (...something...)
return;
}
从技术上讲,该函数返回一个 int
,但没有预期值。这种代码风格会引发您收到的警告 - C99 正式禁止它,但出于向后兼容性的原因,编译器继续接受它。
关于C 警告 'return' 没有值,函数返回非空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2422636/