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.

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;
}

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊
如果您的 while 循環(huán)沒有觸發(fā),則沒有 return 指令,您需要在 while 循環(huán)之外的函數(shù)底部返回一個(gè) return 。
- 3 回答
- 0 關(guān)注
- 270 瀏覽
添加回答
舉報(bào)