我不斷收到標題中指定的錯誤,但似乎無論如何都會返回l的值。這裏有什麼問題?我有一個else語句來處理了l如果與它沒有任何變化:不是所有的代碼路徑都返回一個值嗎?
public int validate(int zip, int i, out int l)
{
if ((zip < 10000) || (zip > 99999))
{
Console.WriteLine("Input not accepted. Zips are 6-digits long.");
error = true;
}
else {
listzip[i] = zip;
error = false; }
for (int g = 1; (g <= (i - 1)); g++)
{
if (listzip[i] == listzip[g])
{
Console.WriteLine("Repeated zip detected, please re-enter.");
if (!error) error = true;
} else error = false;
}
if (error)
{
l = i--; // forces a step back if an error was detected
}else l = i;
}
你的方法的返回類型爲int,但代碼中沒有'return'語句。 – dtb 2013-02-16 18:13:09
dtb說什麼。我認爲這個混淆源於你使用out參數的事實,並且你認爲設置和返回值是一樣的。不是這樣。 – 2013-02-16 18:31:39