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)
使用重载:
Use overloading:
最简单的方法是使用重载过程:
The easiest way is to use overloaded procedures:
使用类而不是记录,像这样的东西就可以做到:
Use a class instead of a record and something like this would do it:
如果您使用指针而不是记录类型,则可以使用 nil 作为默认值:
实际上,将指针作为参数传递通常更快,因为它避免了复制内存块。
If you use a pointer instead of the record type you can use
nil
as default value:Actually, passing pointers as parameters is usually faster because it avoids copying blocks of memory.