關於sort的比較函式的static 宣告

2021-08-02 22:12:58 字數 288 閱讀 1444

在進行編寫sort函式的比較函式時,

bool compare(string str1,string str2)

只是簡單的外部宣告,也沒有類的引用,在vs上執行時正確,但是在其它平台上出現報錯:

reference to non-static member function must be called sort(temp.begin(),temp.end(),compare);

意思是sort的呼叫必須是靜態成員,之後宣告為static後就正確了。

但是官方文件的例子沒有這樣的說明,

理解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 注意 比較函式必須寫在類外部 ...

sort方法的比較函式實現原理

在做劍指offer時,有一道題 題目描述輸入乙個正整數陣列,把陣列裡所有數字拼接起來排成乙個數,列印能拼接出的所有數字中最小的乙個。例如輸入陣列,則列印出這三個數字能排成的最小數字為321323。思路 自定義比較器,若a b b a則a b,即 3 23 23 3 則3 23,並且我們希望在排序的時...