C++ 用于对指针向量进行排序的排序 void BloodDonationPoint::sortBlood() { 排序(bloodBank.begin(),bloodBank.end(),isOlder); } 布尔献血点::伊索尔德(血单位*a,血单位*b) { 返回一个->getTimeToGoingBad()getTimeToGoingBad(); } 错误C3867:'BloodDonationPoint::isOlder':非标准语法;使用“&”来 创建指向成员的指针 错误C2672:“排序”:未找到匹配的重载函数 错误C2780:“void std::sort(const_RanIt,const_RanIt)”:需要2个参数-提供3个参数

C++ 用于对指针向量进行排序的排序 void BloodDonationPoint::sortBlood() { 排序(bloodBank.begin(),bloodBank.end(),isOlder); } 布尔献血点::伊索尔德(血单位*a,血单位*b) { 返回一个->getTimeToGoingBad()getTimeToGoingBad(); } 错误C3867:'BloodDonationPoint::isOlder':非标准语法;使用“&”来 创建指向成员的指针 错误C2672:“排序”:未找到匹配的重载函数 错误C2780:“void std::sort(const_RanIt,const_RanIt)”:需要2个参数-提供3个参数,c++,sorting,pointers,vector,C++,Sorting,Pointers,Vector,为什么它不起作用?血库只是指向血库单位的指针向量。BloodDonationPoint::isOlder需要是静态的。开始解析警告。(提示:isOlder没有理由成为BloodDonationPoint或任何组织的成员。) void BloodDonationPoint::sortBlood() { std::sort(bloodBank.begin(), bloodBank.end(), isOlder); } bool BloodDonationPoint::isOlder(Bloo

为什么它不起作用?血库只是指向血库单位的指针向量。

BloodDonationPoint::isOlder
需要是静态的。开始解析警告。(提示:
isOlder
没有理由成为BloodDonationPoint或任何组织的成员。)
void BloodDonationPoint::sortBlood()
{
   std::sort(bloodBank.begin(), bloodBank.end(), isOlder);
}

bool BloodDonationPoint::isOlder(BloodUnit* a, BloodUnit* b)
{
    return a->getTimeToGoingBad()<b->getTimeToGoingBad();
}

error C3867: 'BloodDonationPoint::isOlder': non-standard syntax; use '&' to 
create a pointer to member
error C2672: 'sort': no matching overloaded function found
error C2780: 'void std::sort(const _RanIt,const _RanIt)': expects 2 arguments - 3 provided