Delphi 中 TSomething 的默认参数值
我想知道这在 Delphi 中是否可行(或者是否有一种干净的方法):
type
TSomething = record
X, Y : Integer;
end;
GetSomething( x, y )
->返回包含这些值的记录。
...然后你有这个函数以 TSomething
作为参数,并且你想将其默认为
function Foo( Something : TSomething = GetSomething( 1, 3 );
编译器在这里吐出一个错误,但是我不确定是否有解决方法!
这可以做到吗?
I'd like to know if this is possible in Delphi (or if there's a clean way around it):
type
TSomething = record
X, Y : Integer;
end;
GetSomething( x, y )
-> Returns record with those values.
... and then you have this function with TSomething
as parameter, and you want to default it as
function Foo( Something : TSomething = GetSomething( 1, 3 );
The compiler spits an error here, however I'm not sure if there's a way around it!
Can this be done?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(4)
耳根太软2024-10-01 07:08:14
最简单的方法是使用重载过程:
program TestOverloading;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
TSomething = record
X,Y : integer;
end;
const
cDefaultSomething : TSomething = (X:100; Y:200);
procedure Foo(aSomething : TSomething); overload;
begin
writeln('X:',aSomething.X);
writeln('Y:',aSomething.Y);
end;
procedure Foo; overload;
begin
Foo(cDefaultSomething);
end;
begin
Foo;
readln;
end.
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
使用重载:
Use overloading: