【发布时间】:2012-09-22 08:36:22
【问题描述】:
Delphi 允许 Copy 函数的 3 个版本:
function CopyTest(const S: string): string;
begin
Result:= Copy(S, 1, 5);
Result:= Copy(S, 1);
// Result:= Copy(S); // not allowed for strings, allowed for dyn arrays
end;
FreePascal 似乎只编译第一个(3-arg)版本;对于其他人,我有编译时错误
Error: Wrong number of parameters specified for call to "$fpc_ansistr_copy"
我是否缺少某些 FPC 编译器开关或 Copy 重载在 Free Pascal 中不可用?
【问题讨论】:
-
只是添加;这是一个
reference。但是,这并不意味着它是当前 RTL 代码的实际情况。 -
@TLama - 我认为 RTL 代码并不重要,编译器决定调用什么函数。 'Fpc_Ansistr_Copy' 无论如何都在 astrings.inc 中,AFAICT 没有重载。
-
+1 表示发现错误。报告为bugs.freepascal.org/view.php?id=22964(请参阅 Sertac 的答案中的 cmets)
标签: delphi copy freepascal