stl中list的sort问题
class YRD
{
public:
int i;
YRD()
{
i = 20;
}
};
struct yrdsort : public binary_function <YRD*, YRD*, bool>
{
bool operator()(
YRD* _Left,
YRD* _Right
) const
{
if(_Left-> i > _Right-> i)
return true;
return false;
}
};
YRD* pData = NULL;
list <YRD*> mylist;
pData = new YRD;
pData-> i = 1;
mylist.push_back(pData);
pData = new YRD;
pData-> i = 10;
mylist.push_back(pData);
pData = new YRD;
pData-> i = 4;
mylist.push_back(pData);
pData = new YRD;
pData-> i = 8;
mylist.push_back(pData);
pData = new YRD;
pData-> i = 3;
mylist.push_back(pData);
mylist.sort(yrdsort);
错误1error C2275: 'yrdsort ' : illegal use of this type as an expressionc:\documents and settings\user\my documents\visual studio 2005\projects\aaa\aaa\aaadlg.cpp241
怎么回事?
[解决办法]
yrdsort 是这个类,要定义一个变量
yrdsort YrdSort;
mylist.sort(YrdSort);
看看
[解决办法]
yrdsort 是一个类型,
需要实例化后才可以使用 。。。。。。