gpt4 book ai didi

德尔福故障: Sorting a Tobjectlist<>

转载 作者:行者123 更新时间:2023-12-03 14:42:52 27 4
gpt4 key购买 nike

我想使用内置排序方法对通用 tobjectlist 进行排序。

这就是我所做的:

//create the list object
myList := TObjectList<MyType>.Create(false);

[...] //populate the list with unsorted entries

//sort the list
myList.sort(@Comparer);

[...]//store sorted results back to array

myList.Destroy;

我的比较器函数如下所示:

function Comparer(Item1, Item2 : pointer):integer;
begin
result := myCompare(item1, item2);
end;

根据规范,它应该像这样工作。

我收到编译器错误 E2250 这些参数不存在“排序”的重载版本(确切的措辞有所不同,我使用非英语版本的 RAD Studio)

我不知道为什么这不应该是有效的 Pascal - 你们中有人对此有见解可以分享吗?

最佳答案

你就快到了。由于我不知道 MyType 是什么,您可能需要更改对 myCompare 函数的调用。

myList.Sort(TComparer<MyType>.Construct(
function (const L, R: MyType): integer
begin
result := myCompare(L, R);
end
));

关于德尔福故障: Sorting a Tobjectlist<>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4784306/

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