我爲自己寫了sort()的比較函數。 我這樣說的時候效果很好。使用比較函數編譯錯誤,C++排序
bool comp(string a, string b)
{
...;
}
int main()
{
sort(...,...,comp);
}
然而,當我把這一切都在類中,說:
class Test {
public:
bool comp(string a,string b)
{
...;
}
vector <string> CustomSort(vector <string> str) {
sort(...,...,comp);
}
};
有一個編譯錯誤「找不到匹配函數調用‘那種......’
。爲什麼會發生這種情況
你應該使用'bool comp(const string&a,const string&b)',我想。它不會影響名稱查找,但它肯定會影響運行時效率(爲每個比較中的每個參數構造並銷燬一個新字符串相對昂貴)。 – 2012-01-14 19:17:16