小编Rui*_*Liu的帖子

使用比较函数,C++排序编译错误

我自己写了一个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 ......'.

为什么会这样?

c++ sorting

2
推荐指数
1
解决办法
1067
查看次数

在C++中返回对istream的引用

我在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)

我的问题是,

  1. 将引用返回istream有什么意义?由于这两个参数都是通过引用传递的;
  2. 在调用函数时,我们似乎并不关心返回值

c++ reference istream

2
推荐指数
2
解决办法
2305
查看次数

标签 统计

c++ ×2

istream ×1

reference ×1

sorting ×1