C++传入匿名表达式时出现的错误
问题描述:
声名了一个函数叫(其中Partition是自定义的数据结构):
void SortForPartition(Partition *partitionList, bool(*_SortFunc_)(Partition *a, Partition *b));
当我调用时:
SortForPartition(xPartitionList, [ = ] (Partition *a, Partition *b) {
return a->Size > b->Size;
});
提示出错:
E0413 不存在从 "lambda []bool (Partition *a, Partition *b)->bool" 到 "bool (*)(Partition *a, Partition *b)" 的适当转换函数
那我应该怎么改呢?
答
用模板吧
template<class _Pr>
void SortForPartition(Partition* partitionList, _Pr _SortFunc_) {
}