[英]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.