c++std::使用函数返回值对std::向量进行排序
c++ std::sort a std::vector using a function return value
我有一个Policy
类,具有以下函数:
double Policy::meanResponse();
假设我有一个Policy
对象的向量(myPolicies
),我希望对其进行排序,并且我希望基于Policy::meanResponse()
的值进行排序。我尝试过以下几种:
bool compare_by_function(const Policy& p1, const Policy& p2)
{
return ( p1.meanResponse() < p2.meanResponse() );
}
sort(myPolicies.begin(), myPolicies.end(), compare_by_function);
但我得到了错误:
"错误:将'const Policy'作为'double Policy::meanResponse()'的'this'参数传递会丢弃限定符"
有人能解释一下在这种情况下如何正确排序吗
是否尝试将meanResponse更改为const?
double Policy::meanResponse()const;
由于您将Policy对象传递给带有const引用的compare函数,因此不能对它们调用非常量方法。
http://www.parashift.com/c++-faq lite/const-member-fs.html
相关文章:
- 将结构向量排序为子组
- C++数组与向量排序(在我的情况下,向量比数组慢~2.5倍(无优化))
- 如何在对向量排序后更改索引值?c++
- C++向量排序给出0作为输出
- 将许多向量排序在一起
- 根据一个向量对多个向量排序
- 编译错误向量排序和联合
- C++我自己的函数进行向量排序
- 将字符串的向量排序为日期"yyyymmdd"
- C++ 通过使用旧向量进行预排序来改进向量排序
- C 向量排序 .h .cpp中的单独文件
- 向量排序-c++
- 将向量排序到一个无序映射c++11中
- 向量的向量排序
- c++向量排序方法编译失败,返回预期表达式
- 如何对bitset向量排序
- 向量排序的基础上只有先
- 我如何以相同的方式对两个向量排序,而条件只使用其中一个向量
- 列表排序和结构体向量排序之间的性能差距.c++
- 如何基于第二个字符串对字符串向量的向量排序