为什么Delphi编译器会忽略这个缺少的括号?
function Test: Boolean;
begin
Exit(True; // <-- eek! it compiles...
end;
我发现我的一些代码看起来像这样,并且首先认为Delphi忽略了我的单元 - 但它只是忽略了这种类型的语法错误。所以现在我当然想知道原因。
答案 0 :(得分:1)
我猜Exit
被认为是自己的标记,因此Exit
之后在同一范围内定义的任何内容都被编译器忽略(因为它无论如何都无法执行这些指令)。
答案 1 :(得分:0)
也许编译器也在想 1.本身有一个出口,或者 2.有一个带有一组括号()的出口。 如果找不到#2,则转到#1。