C++对不带lambda的索引向量进行排序
C++ sorting an index vector without lambda
我正在尝试对一个索引向量进行排序,排序方式与常规向量的排序方式完全相同。这个语句工作正常,在visualstudio中编译正确,但我需要它在Linux中编译,所以我需要以某种方式重写该语句,以便使用旧版本的编译器。索引向量是通过这个来声明和初始化的,它在旧的编译器上仍然可以很好地工作:
vector<float> indexes(toBeSorted.size());
//initialize original index locations
for (float i = 0; i != indexes.size(); ++i) indexes[i] = i;
问题是这一行,它在Linux中中断:
sort(indexes.begin(), indexes.end(), [toBeSorted](float i1, float i2) {return toBeSorted[i1] > toBeSorted[i2]; });
请帮忙!
使用函数:
struct Sorter
{
bool operator()(...)
{ /* logic * / }
};
这应该在旧版本的编译器中仍然有效。。。
相关文章:
- 将结构向量排序为子组
- C++数组与向量排序(在我的情况下,向量比数组慢~2.5倍(无优化))
- 如何在对向量排序后更改索引值?c++
- C++向量排序给出0作为输出
- 将许多向量排序在一起
- 根据一个向量对多个向量排序
- 编译错误向量排序和联合
- C++我自己的函数进行向量排序
- 将字符串的向量排序为日期"yyyymmdd"
- C++ 通过使用旧向量进行预排序来改进向量排序
- C 向量排序 .h .cpp中的单独文件
- 向量排序-c++
- 将向量排序到一个无序映射c++11中
- 向量的向量排序
- c++向量排序方法编译失败,返回预期表达式
- 如何对bitset向量排序
- 向量排序的基础上只有先
- 我如何以相同的方式对两个向量排序,而条件只使用其中一个向量
- 列表排序和结构体向量排序之间的性能差距.c++
- 如何基于第二个字符串对字符串向量的向量排序