我正在使用 std::sort 函数<algorithm>
。我遵循了http://www.cplusplus.com/reference/algorithm/sort/中给出的示例。我想使用如下所示的示例:
// using default comparison (operator <):
std::sort (myvector.begin(), myvector.begin()+4);
应用于我的课程,它看起来像这样:
std::sort(newTuples->begin(), newTuples->end());
newTuples
类型在哪里
std::vector<Tuple>*
所以我覆盖了类的operator<
功能Tuple
:
bool const Tuple::operator<(Tuple * tup1){
bool result = false;
for(int iii=0; iii<tup1->size(); iii++){
if(tup1->at(iii)->getTokensValue() < this->at(iii)->getTokensValue()){
result = true;
break;
}
else if (tup1->at(iii)->getTokensValue() > this->at(iii)->getTokensValue())
break;
}
return result;
}
问题是当我尝试在 XCode 中构建时,它给了我显示的错误:
哪个代码片段在<algorithm>
.
它给了我各种各样的堆栈跟踪,其中一行给了我以下信息:
哪个代码片段在我的Tuple.h
文件中。
我不知道还能做什么!非常感谢任何帮助,因为我的 CS 课程项目现在晚了 3 天,因为我无法弄清楚这个 LAST 排序算法。我已经用关系和关系操作选择、项目和重命名实现了一个关系数据库管理系统。我有正确格式化这些元组,它们只需要按排序顺序。谢谢!
编辑:
所以我按照答案中的建议更改了声明,但现在它给了我:
有什么帮助吗?