编译器忽略Exit命令的缺失括号

时间:2012-04-30 07:06:17

标签: delphi delphi-2009 delphi-xe

为什么Delphi编译器会忽略这个缺少的括号?

function Test: Boolean;
begin
  Exit(True;    // <-- eek! it compiles...
end;

我发现我的一些代码看起来像这样,并且首先认为Delphi忽略了我的单元 - 但它只是忽略了这种类型的语法错误。所以现在我当然想知道原因。

2 个答案:

答案 0 :(得分:1)

我猜Exit被认为是自己的标记,因此Exit之后在同一范围内定义的任何内容都被编译器忽略(因为它无论如何都无法执行这些指令)。

答案 1 :(得分:0)

也许编译器也在想 1.本身有一个出口,或者 2.有一个带有一组括号()的出口。 如果找不到#2,则转到#1。