【发布时间】:2014-08-09 10:27:28
【问题描述】:
我可以知道如何将stl::list::sort 函数与抽象数据类型的外部函数一起使用吗?
构造函数的示例代码如下所示:
ADType::ADType(string name, int object){
//constructor code
}
对于方法:
using <list>
using namespace std;
bool compare_Object(ADType& first, ADType& second){
//search algorithm
return true;
}
int main(){
ADType test1 = ADType("Test 1", 123);
ADType test2 = ADType("Test 3", 142);
ADType test3 = ADType("Test 2", 200);
list<ADType> testlist;
testlist.push_back(test1);
testlist.push_back(test2);
testlist.push_back(test3);
testlist.sort(compare_Object);
//code to print out objects in list
}
上面的行给了我函数调用缺少参数列表的错误 C3867 和不接受参数的函数的 C2660。我刚刚发布的代码有问题吗?
【问题讨论】:
-
您至少需要为
ADTypeIMHO 提供一个复制或移动构造函数。 -
哪一行出现错误?
-
你会遇到比使用
sort更大的问题,见stackoverflow.com/a/9241731/362589