Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在c+;中调用指向成员函数的指针时出错+; 类解决方案{ 公众: bool cmp(成对和aa、成对和bb){ if(aa.first_C++_Function_Pointers_Call - Fatal编程技术网

C++ 在c+;中调用指向成员函数的指针时出错+; 类解决方案{ 公众: bool cmp(成对和aa、成对和bb){ if(aa.first

C++ 在c+;中调用指向成员函数的指针时出错+; 类解决方案{ 公众: bool cmp(成对和aa、成对和bb){ if(aa.first,c++,function,pointers,call,C++,Function,Pointers,Call,不能使用非静态成员函数,如cmp,作为排序的参数 sort的参数必须是全局函数、静态成员函数或可调用对象 使cmp成为一个静态成员函数,以使程序正常工作。您不能使用非静态成员函数,例如cmp,作为排序的参数 sort的参数必须是全局函数、静态成员函数或可调用对象 让cmp成为静态成员函数,让你的程序工作。首先,你从哪里得到错误?请用注释或类似的东西标记出来。其次,cmp函数真的需要成为成员函数吗?为什么它不是静态成员函数?非常感谢:).在使用静态成员函数后,它现在正在工作。.另外,首先,请看一下

不能使用非
静态
成员函数,如
cmp
,作为
排序
的参数

sort
的参数必须是全局函数、静态成员函数或可调用对象


使
cmp
成为一个
静态
成员函数,以使程序正常工作。

您不能使用非
静态
成员函数,例如
cmp
,作为
排序
的参数

sort
的参数必须是全局函数、静态成员函数或可调用对象

cmp
成为
静态
成员函数,让你的程序工作。

首先,你从哪里得到错误?请用注释或类似的东西标记出来。其次,
cmp
函数真的需要成为成员函数吗?为什么它不是
静态
成员函数?非常感谢:).在使用静态成员函数后,它现在正在工作。.另外,首先,请看一下,你从哪里得到错误?请用注释或类似的东西将其标记出来。其次,
cmp
函数真的需要成为成员函数吗?为什么它不是一个
静态
成员函数?非常感谢:)。在使用静态后成员函数它现在正在工作..同时查看和
class Solution {
public:
    bool cmp(pair<int, int>& aa,pair<int, int>& bb){
        if(aa.first<bb.first) return true;
        else if(aa.second<bb.second) return true;
        else return false;
    }
    int maxEnvelopes(vector<pair<int, int> >& envelopes) {
        int i,sz;
        sz=envelopes.size();
        vector<int> v1,v2;
        vector<int>::iterator it1;
        vector<int>::iterator it2;
        sort(envelopes.begin(),envelopes.end(),cmp);
        for(i=0;i<sz;i++){
            it1=lower_bound(v1.begin(),v1.end(),envelopes[i].first);
            it2=lower_bound(v2.begin(),v2.end(),envelopes[i].second);
            if(it1==v1.end()&&it2==v2.end()){
                v1.push_back(envelopes[i].first);
                v2.push_back(envelopes[i].second);
            }
            else{
                v1[it1-v1.end()]=envelopes[i].first;
                v2[it2-v2.end()]=envelopes[i].second;
            }
            //cout<<v1.size()<<" "<<v2.size()<<endl;
        }
        return v1.size();
    }
};