void sort(comp cmpfn)
前面做猜写错了,对不起了。
你改成l.sort(int node(const void *a,const void *b))
试试吧,sort函数不只是通过使用bool运算判断大小,它还纯正型有判断谁大谁小,int大于0就是a>b,反之就是a<b,等于清枯0就是a==b
我帮你改写了一下你的node()
int node(const void *a,const void *b){
return *(int *)a - *(int *)b
}
很简单std::list<int>test
int a = 1
while (1)
{
std::cout <乱乎<"请输入数字,退出输入请按0" <哗州悉<std::endl
std::cin >>a
if(a == 0)
break
test.push_back(a)
}
std::list<int>::iterator it = test.begin()
while(it!= test.end())
{
std::cout <迹链<*it++ <<std::endl
}
你好,你的问题仅仅是很简单的没有命名空间前缀,"std::", 简单将你列出的第2行,改成“std::list<int>Backpack”就行了。头码败文件里定义的标识符是“std::list”,而不是“list”,后者不是模板类的定义,所以不能和尖括号连用,报第一个错C2143。同时当假定list是一个变量后,发现前面没类型定义,就报告了第2个错C4430。 我的编译器vs2013不会报告你的第3个错。
在cpp文件里,你可以在所有#include之后,加入一行“using namespace std”,来避免重昌模锋复输入"std::"前缀; 如果你全cpp只用<list>,也可以只输入“using std::list”耐晌
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)