C++ sort求助!!!

 

在使用std::sort( first, last, Pred )的时候,第三个参数我想用自定义的比较函数。可是,我遇到了一下问题,在线求指导。

 

 1 template< typename T >
 2 void fun()
 3 
 4 {
 5    map< T, uint > data_count;     //映射数据-出现次数
 6      vector< T > data;          //数据集
 7      struct _less_by_count{
 8            bool operator()( const T& lhs, const T& rhs )
 9            {
10                  if( data_count.at( lhs ) < data_count.at( rhs ) )
11                        return true;
12                  return false;
13             }
14      };
15      std::sort( data.begin(), data.end(), _less_by_count() );
16 }

我想以每个数据的出现次数为排序规则,而data_count却为一个临时变量,编译错误:operator()不能访问data_count!

求助解决方案:以data_count.second为排序规则(不要将data_count设计为全局变量,保留其局部性)。

 

谢谢!!!!!!!!!!

转载于:https://www.cnblogs.com/newwayy/archive/2012/05/07/2488866.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值