我试图创造一个比较器对快速排序的内联函数 - 是这样的:试图用C++快速排序与内联函数
function<int(int,int)> comparesort = [smarkers, emarkers, strSearch] (int *arg1, int *arg2) { return 0; };
qsort(sortptrs, nKeywords, sizeof(int), comparesort);
它给我这个错误
智能感知:没有合适的从 “的std :: TR1 ::功能” 为 “int(__cdecl *)(常量无效*,常量无效*)” 存在
确定转换功能 - 我把它改成这个
auto comparesort = [sortptrs, smarkers, emarkers, strSearch] (int arg1, int arg2)
{
int a = 0;
.
.
.
return a;
};
std::sort(sortptrs, sortptrs + nKeywords, comparesort);
和它给了一个错误:
错误C3499:已指定具有void返回类型不能[上7/30 15:55编辑]
返回一个值拉姆达
我实际上需要一个指针排序 - 我有一个开始和结束字节数组(在从VB.Net托管代码传入的字符串中找到)。我也有一个包含“1,2,3 ...”的指针数组,我需要对指针进行排序。
似乎没有我能做到这一点用的std ::排序所以我实现我自己的希尔排序...
'qsort'?怎么样使用'std :: sort'? – 2012-07-29 21:35:35
@BoPersson - 我试过std :: sort - 函数的返回类型有问题 – szlamany 2012-07-29 22:46:09