[英]warning: control reaches end of non-void function in recursive function
我收到警告:控制到达非空函数的末尾。
我有一个看起来像这样的递归函数:
unsigned long FUNCTION (....) {
if (something) {
return 1;
}
else if (something2) {
if(thing) {
FUNCTION(....);
}
else
return 0;
}
else {
return 0;
}
}
我不能只把return 0放进去。 在函数的末尾,因为它最终使我的程序执行我不希望做的事情。 如何使警告消失?
调用FUNCTION(...)
的分支不会返回任何内容。 结果,如果采用此分支,则您的函数具有未定义的行为。 不能从代码中确定需要返回的内容:您必须提出相应的建议。
请注意, FUNCTION
通常表示名称是一个宏:为避免混淆,有一些约定如何命名事物。 您可以使用所有大写字母调用函数,但这可能不是一个好主意。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.