gpt4 book ai didi

delphi - 在Delphi匿名方法中不能使用var参数吗?

转载 作者:行者123 更新时间:2023-12-03 18:26:11 26 4
gpt4 key购买 nike

不能在匿名方法中使用var参数吗?以下示例说明了(SSCCE)我遇到的问题:

program Project2;

{$APPTYPE CONSOLE}

type
TTextTransformProc = reference to procedure(var AText: string);

procedure WriteTransformedText(const AText: string; AProc: TTextTransformProc);
var
S: string;
begin
S := AText;
AProc(S);
Writeln(S);
end;

procedure UpperCaseProc(var AText: string);
var
i: integer;
begin
for i := 1 to Length(AText) do
AText[i] := UpCase(AText[i]);
end;

begin
WriteTransformedText('This is a test.', UpperCaseProc);
Readln;
end.


代码可以编译,但是在运行时会出现访问冲突错误(并且没有大写字符串)。如果删除 reference to,该代码将按预期工作。

最佳答案

这是编译器缺陷。您的代码是正确的。编译器错误。在获得更现代的编译器之前,您必须找到解决方法。

关于delphi - 在Delphi匿名方法中不能使用var参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35090503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com