我自己写了一个sort()的比较函数.当我这样说时,它运作良好.
bool comp(string a, string b)
{
...;
}
int main()
{
sort(...,...,comp);
}
Run Code Online (Sandbox Code Playgroud)
但是,当我把所有这些都放在一个班级时,说:
class Test {
public:
bool comp(string a,string b)
{
...;
}
vector <string> CustomSort(vector <string> str) {
sort(...,...,comp);
}
};
Run Code Online (Sandbox Code Playgroud)
有一个编译错误"没有匹配函数来调用'sort ......'.
为什么会这样?
我在Accelerated C++上看到了这个.这是一个简化版本.
istream& read_hw(istream& in, Student_info& s)
{
in >> s.name >> s.midterm >> s.final;
return in;
}
Run Code Online (Sandbox Code Playgroud)
然后,我们可以将函数调用为:
Student_info s;
read_hw(cin, s);
Run Code Online (Sandbox Code Playgroud)
我的问题是,