爲什麼Delphi編譯器忽略這個缺失的括號?編譯器忽略退出命令的缺失括號
function Test: Boolean;
begin
Exit(True; // <-- eek! it compiles...
end;
我發現了一些我的代碼看起來像這一點,首先想到的是德爾福忽略了我的單位 - 但它只是忽略了這種類型的語法錯誤。所以現在我當然想知道爲什麼。
爲什麼Delphi編譯器忽略這個缺失的括號?編譯器忽略退出命令的缺失括號
function Test: Boolean;
begin
Exit(True; // <-- eek! it compiles...
end;
我發現了一些我的代碼看起來像這一點,首先想到的是德爾福忽略了我的單位 - 但它只是忽略了這種類型的語法錯誤。所以現在我當然想知道爲什麼。
也許編譯器認爲要麼 1.有一個退出本身,或 2.有一個退出帶有一組圓括號()。 如果它沒有找到#2它會到#1。
這看起來像編譯器中的一個bug。 –
與XE2更新4中的相同。但Error Insight將其標記。 –
我想這應該是因爲該函數沒有其他的東西,它忽略了函數本身。嘗試在退出前添加一些代碼。 – CyprUS