首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

stl中list的sort有关问题

2012-02-22 
stl中list的sort问题classYRD{public:intiYRD(){i20}}structyrdsort:publicbinary_functionYRD*,YRD*

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 是一个类型,
需要实例化后才可以使用 。。。。。。

热点排行