我在這個代碼在c#中得到以下錯誤 「並非所有的代碼路徑返回一個值」 我想創建一個使用它的編程語言。 任何幫助,非常感謝。c#不是所有的代碼路徑返回一個值錯誤
private Expr ParseExpr()
{
if (this.index == this.tokens.Count)
{
throw new System.Exception("expected expression, got EOF");
}
if (this.tokens[this.index] is Text.StringBuilder)
{
string Value = ((Text.StringBuilder)this.tokens[this.index++]).ToString();
StringLiteral StringLiteral = new StringLiteral();
StringLiteral.Value = Value;
}
else if (this.tokens[this.index] is int)
{
int intvalue = (int)this.tokens[this.index++];
IntLiteral intliteral = new IntLiteral();
intliteral.Value = intvalue;
return intliteral;
}
else if (this.tokens[this.index] is string)
{
string Ident = (string)this.tokens[this.index++];
Variable var = new Variable();
var.Ident = Ident;
return var;
}
else
{
throw new System.Exception("expected string literal, int literal, or variable");
}
}
我想你可能想重命名你的'Variable var'。 var是C#的一些最新版本中的保留關鍵字。 – Katana314
不要忘記在函數結束時返回值 – Andrei