4
A
回答
12
您有类似:
int function(void)
{
return;
}
添加一个返回值,或者改变返回类型为void。
的错误信息是非常明确的:
警告:没有任何价值“回归”,在函数返回非空。
没有价值的回报与我所展示的相似。该消息还告诉你,如果函数返回'void',它不会给出警告。但是因为这个函数应该返回一个值,但是你的'return'语句没有,所以你有一个问题。
这通常代表古代的代码。在C89标准之前的日子里,编译器不一定支持'void'。接受的风格,那么:
function_not_returning_an_explicit_value(i)
char *i;
{
...
if (...something...)
return;
}
技术上,函数返回一个int
,但预计没有价值。这种类型的代码引发了你所得到的警告 - 而C99正式宣布禁止它,但编译器为了向后兼容性继续接受它。
+0
我感谢您解释为什么这只是作为警告。 – tomjakubowski 2016-01-07 00:58:50
3
此警告,当你做这种情况:
int t() { return; }
因为t()
被声明为返回一个int
,但return语句没有返回一个int
。正确的版本是:
int t() { return 0; }
显然你的代码是比较复杂的,但它应该是很容易在你的代码被发现裸return
。
4
,如果你忘记添加一个return语句作为最后一个语句这个警告也发生了:
int func(){}
如果不指定一个函数它默认的返回类型为int不空,因此这些都是还错误:
func(){}
func(){ return; }
如果你真的不需要返回一个值,你应该声明你的函数为返回void:
void func(){}
void func(){ return; }
相关问题
- 1. 不返回值,从函数具有非void返回类型
- 2. 如何解决“警告:没有返回语句函数返回非void [-Wreturn-type]”空虚拟方法
- 3. 从Promise返回非返回函数导致警告
- 4. c void main函数?返回16值
- 5. 不返回,在函数返回非void {在日食CDT}
- 6. 返回void函数
- 7. 如何从非void函数返回?
- 8. Swift 1.2:void函数中意外的非void返回值
- 9. void函数中意外的非void返回值
- 10. void函数中意外的非void返回值Swift3
- 11. 返回从一个在C void函数++
- 12. 返回值void *在函数中
- 13. C++函数没有返回值
- 14. 返回void的C++/C函数指针*
- 15. 回文函数没有返回值
- 16. Casting函数返回void
- 17. PostgreSQL函数返回void
- 18. 返回语句中的void函数C
- 19. 如何从void函数返回值?
- 20. 搜索函数返回strpos()警告
- 21. 警告:函数将始终返回True
- 22. 警告:'noreturn'函数确实返回
- 23. toDataURL()没有返回有效图像,除非先发出警告
- 24. 警告:'返回'一个值,在函数返回void返回下一个; ex19.c:95:10:错误:无效值不会被忽略,因为它应该是
- 25. 无返回函数的函数评估返回void
- 26. 班级理解:在void函数中意外的非void返回值(swift 3)
- 27. 为什么在void函数中出现意外的非void返回值?
- 28. 在新的Swift类中的void函数中意外的非void返回值
- 29. C函数不返回值
- 30. C函数不返回值?
“医生,当我在这里揉时疼!” “好吧,停止这样做吧!” :-P认真地说,如果一个函数有一个返回类型,不要只返回',而是返回一个所需类型的值。 – 2010-03-11 05:01:13