gpt4 book ai didi

c++ - 尝试使用 operator() 错误 comp 不能使用 c++

转载 作者:行者123 更新时间:2023-11-28 05:55:56 25 4
gpt4 key购买 nike

我有类排序指针和从它继承的类 sortID。类 sortID 有 operator(),我试图将它发送到这个函数,试图对我的列表进行排序。它给我错误:“排序不能用作函数。”

#include "Sort.h"
#include "SortID.h"
class Movie{


list<int*> somelist;
public:
void Movie::sortList()
{
Sort* sorter = new sortID();
this->someList.sort(sorter);
}
}

这是类 sortID:

#include "sort.h"
class SortID : public Sort {


bool sortID::operator()(const int* a, const int* b){
return a.getId() < b.getId();
}

class Sort{
public:
virtual bool operator()(const int* a, const int* b)=0;

帮助..?

最佳答案

list::sort 不需要指针。
只需传递一个对象:

void Movie::sortList()
{
someList.sort(SortID());
}

(您发布的代码中还有其他错误,但我想这些是您在应该复制和粘贴时重新输入造成的。)

关于c++ - 尝试使用 operator() 错误 comp 不能使用 c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34157153/

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