我不断收到标题中指定的错误,但似乎无论如何都会返回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