第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

并非所有代碼路徑都返回帶有 while 循環(huán)的值

并非所有代碼路徑都返回帶有 while 循環(huán)的值

C#
汪汪一只貓 2021-11-28 15:59:39
編譯器抱怨以下代碼片段不會(huì)總是返回。我已經(jīng)檢查過了,沒有發(fā)現(xiàn)問題。private int MyFunction(int b){    int result = -1;    while (result != 1)    {        result = MySmallFunction(out var x);        if (result == 1)        {            return x;        }    }}private int MySmallFunction(out int x){    x = 1;    return 1;}MySmallFunction做東西并返回一個(gè)代碼,1表示成功,其余的是錯(cuò)誤代碼。如果它返回1,則意味著out int x具有值。如果返回值不是1(錯(cuò)誤代碼),那么我想重試。如果MySmallFunction從不返回1,則應(yīng)用程序應(yīng)該永遠(yuǎn)停留在循環(huán)中。這對(duì)編譯器來說應(yīng)該不是問題。
查看完整描述

3 回答

?
蕪湖不蕪

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊

我將函數(shù)改寫為:


private int MyFunction()

{

    int result = -1;

    int x = int.MinValue;


    while (result != 1)

    {

        result = MySmallFunction(out x);

    }


    return x;

}


private int MySmallFunction(out int x)

{

    x = 1;

    return 1;

}

Nowx僅在返回MySmallFunction狀態(tài)代碼1.


查看完整回答
反對(duì) 回復(fù) 2021-11-28
?
慕后森

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊

根據(jù)方法的簽名,MyFunction()它應(yīng)該在所有條件下向調(diào)用方法返回一個(gè)值。但在您的情況下,您僅if (result == 1)在所有其他情況下返回一個(gè)無效值,因此您必須在最后添加一個(gè)返回值,它將返回一個(gè)整數(shù)。所以你必須改變這樣的事情:


private int MyFunction(int b)

{

    int result = -1;


    while (result != 1)

    {

        result = MySmallFunction(out var x);


        if (result == 1)

        {

            return x;

        }

    }

    return 0;

}


查看完整回答
反對(duì) 回復(fù) 2021-11-28
?
湖上湖

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊

如果您的 while 循環(huán)沒有觸發(fā),則沒有 return 指令,您需要在 while 循環(huán)之外的函數(shù)底部返回一個(gè) return 。


查看完整回答
反對(duì) 回復(fù) 2021-11-28
  • 3 回答
  • 0 關(guān)注
  • 270 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)