11
A
回答
18
最大的區別是,當方法的參數不正確時,對於非重載方法,錯誤消息明顯更好。
program Test;
procedure F(X: Integer);
begin
end;
procedure G(X: Integer); overload;
begin
end;
var
P: Pointer = nil;
begin
F(P); // E2010 Incompatible types: 'Integer' and 'Pointer'
G(P); // E2250 There is no overloaded version of 'G' that can be called with these arguments
end.
更微妙的是,一個重載的方法可能會重載您不知道的函數。考慮標準IfThen
函數。 StrUtils.IfThen
存在恰好一次:
function IfThen(AValue: Boolean; const ATrue: string;
AFalse: string = ''): string; overload; inline;
但它被標記爲overload
。這是因爲它過載了Math.IfThen
,並且如果單個設備同時使用Math
和StrUtils
,則不合格的IfThen
將根據參數解析爲正確的功能,並且不管uses
列表中設備的順序如何。
相關問題
- 1. dict.keys()中的關鍵字與關鍵字有什麼區別?
- 2. oracle sql中的join關鍵字和inner join關鍵字有什麼區別?
- 3. 「throw」關鍵字和「Write-Error-ErrorAction Stop」之間有什麼區別?
- 4. C#中的覆蓋和新關鍵字有什麼區別?
- 5. C#中的enum關鍵字和C有什麼區別?
- 6. 「數據」和「類型」關鍵字有什麼區別?
- 7. 函數參數中的struct關鍵字有什麼區別?
- 8. 關鍵字:is和==有什麼區別python
- 9. 有什麼區別與加入關鍵字加入或加入=
- 10. c和C++之間關鍵字static有什麼區別?
- 11. noexcept關鍵字和_NOEXCEPT宏有什麼區別?
- 12. 使用box關鍵字和Box :: new之間有什麼區別?
- 13. java和super關鍵字有什麼區別?
- 14. 關鍵字'Private'和'Final'有什麼區別?
- 15. 使用synchronized關鍵字和鎖之間有什麼區別
- 16. 元「關鍵字」和「關鍵字」有區別
- 17. 主鍵和身份有什麼區別?
- 18. 檢查和外鍵有什麼區別?
- 19. 套接字級別的IPv4和IPv6有什麼區別嗎?
- 20. Viterbi CYK和Probabilistic CYK算法有什麼區別,有什麼區別嗎?
- 21. 用「var」聲明而沒有「var」關鍵字的變量有什麼區別?
- 22. .NET和ASP.NET有什麼區別嗎
- 23. RPC和IPC有什麼區別嗎?
- 24. UserLocalServiceUtil.addRoleUser和RoleLocalServiceUtil.addUserRole有什麼區別嗎?
- 25. 這些陳述有什麼區別嗎?
- 26. window.onkeydown和document.onkeydown有什麼區別嗎?
- 27. IIFE:var vs this - 有什麼區別嗎?
- 28. svg和png img有什麼區別嗎?
- 29. html和*有什麼區別嗎?
- 30. vbNullString和「」之間有什麼區別嗎?
不錯 - 我從來不知道它可以用來解決這些問題! –