gpt4 book ai didi

c++ - 我在使用算法的库排序功能时遇到问题

转载 作者:行者123 更新时间:2023-11-28 08:34:47 25 4
gpt4 key购买 nike

我想按属性将指针向量排序为指针向量,但是我不愿意这样做。
这是我的代码:

类:

class Carro
{
//...
double positionX;
//...
double getXPosition() const; (i've tryed with and without const)
};


然后我在另一个类中有一个指针向量:

vector<Carro*> carros;


然后,我有另一个向量,它指向前一个并且仅指向某些元素,并且我试图通过位置positionX来对第二个向量进行排序。

#pragma once
#include <algorithm>

using namespace std;


vector<Carro*> carros2;

bool Pista::sortCarrosByPosition(Carro* p1, Carro* p2)
{
return p1->getXPosition() > p2->getXPosition();
}


sort(carros2.begin(), carros2.end(), sortCarrosByPosition);


我有以下错误:

see declaration of 'std::sort'

C2780: void std::sort(const _RanIt,const _RanIt)': expects 2 arguments - 3 provided

C2682: 'sort': no matching overloaded function found

C3867: 'Pista::sortCarrosByPosition': non-standard syntax; use '&' to create a pointer to member


我知道我想念一些东西,但不能完全动手...

最佳答案

好吧,我宣布我的排序功能为静态:


static bool sortCarrosByPosition(Carro* p1, Carro* p2);


错误消失了,让我们看看它是否有效。

关于c++ - 我在使用算法的库排序功能时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59415378/

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