gpt4 book ai didi

c++ - 使用类对象对双端队列进行排序

转载 作者:行者123 更新时间:2023-11-30 04:05:47 25 4
gpt4 key购买 nike

我有一个关于使用类对象对双端队列进行排序的问题。所以我有一个名为“rq”的双端队列,它包含多种类型的数据。我想通过比较 TAU 值对双端队列进行排序。但是,在尝试对双端队列进行排序时,我不断遇到疯狂的编译器错误。下面是我尝试执行的函数,用于比较 TAU 值并对双端队列进行排序。我将如何解决这个问题?

 deque<system>rq 
//and so on
struct tauSort
{
bool operator ()( system &a, system &b)
{
return a.getTau() < b.getTau();
}
}

//Blah Blah
system sorting;
sort(rq.begin(), rq.end(), sorting)

最佳答案

这个:

system sorting;

应该是这样的:

tauSort sorting;

因为你想传递排序仿函数,而不是 system 对象。而且您也忘记了 sort 语句末尾的分号。

你也可以简单地做:

sort(rq.begin(), rq.end(), tauSort());

更不用说您可以在函数中通过常量引用传递 system,因为您不需要修改它们。最好将 operator() 也设为常量:

bool operator ()(system const& a,  system const& b) const { … }

关于c++ - 使用类对象对双端队列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23137487/

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