我宣告了乙個類,類中成員函式呼叫了二維vector引數:candidate_set,**如下:
公升序函式定義如下:class staridentify
;
想在函式identify_basis_pair中呼叫vector的比較函式bool staridentify::lesssort (vector
a,vector
b)
sort(candidate_set.begin(),candidate_set.end(),lesssort);
但編譯會出錯,提示lesssort缺少兩個引數。
解決方式如下
宣告為靜態成員函式:
這樣呼叫就可以了:class staridentify
;
sort(candidate_set.begin(),candidate_set.end(),staridentify::lesssort);
相關帖子 如何自定義sort函式中的比較函式
參考鏈結 題目描述 輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這三個數字能排成的最小數字為321323。思路 自定義比較器,若a b b a則a b,即 3 23 23 3 則3 23,並且我們希望在排序的時候將23排在3的前面...
理解sort中的比較函式
sort 方法是陣列自帶的一種排序方法,為了實現排序sort方法會預設呼叫每個陣列項的tostring轉型方法 然後比較得到的字串 sort方法接收乙個比較函式,比較函式有兩個引數,如果第乙個引數應該位於第二個引數之前則返回負數,如果相等返回0,如果第乙個引數應該位於第二個引數之後則返回正數 1.當...
C 中sort的比較函式寫法
c 中sort的比較函式寫法,有需要的朋友可以參考下。定義排序函式 方法1 宣告外部比較函式 bool less const student s1,const student s2 std sort sutvector.begin stuvector.end less 注意 比較函式必須寫在類外部 ...