簡體   English   中英

錯誤:控件可能到達非無效函數的結尾,Xcode

[英]Error: Control may reach end of non-void function, Xcode

我知道我的問題有很多疑問和答案,

但由於情況不同,這些方法無濟於事。

這是我的代碼。

BinNode *Search(BinNode *p, const Member *x)
{
    int cond;
    if(p == NULL)
        return NULL;
    else if((cond = MemberNoCmp(x, &p->data)) == 0)
        return p;
    else if(cond < 0)
        Search(p->left, x);
    else
        Search(p->right, x);
}

和錯誤消息。

控制可能會達到非無效功能的終點

我認為我的函數將很好地執行,並且我認為這是重要的一行。

if(p == NULL)
        return NULL;
    else if((cond = MemberNoCmp(x, &p->data)) == 0)
        return p;

我認為這最終將無條件返回NULL或p。

我錯過了什么問題?

在“ non- void ”函數中, 必須在可能采用的每個分支上返回一些內容。 換一種說法:

BinNode *Search(BinNode *p, const Member *x)
{
    int cond;
    if(p == NULL)
        return NULL;
    else if((cond = MemberNoCmp(x, &p->data)) == 0)
        return p;
    else if(cond < 0)
        return Search(p->left, x);
    else
        return Search(p->right, x);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM