读书人

operator()参数有关问题

发布时间: 2012-06-06 16:44:11 作者: rapoo

operator()参数问题
bool PredTF(const pair<int,int>& pair1,int articleId)
{
return pair1.first==articleId;

}
class PredTFclass
{
private: const int m;
public:
PredTFclass(int id):m(id){};
bool operator()(const pair<int,int>& pair1){return PredTF(pair1,m);};
};

double TF=(double)count_if(mymap[myKeys[j]].begin(),mymap[myKeys[j]].end(),PredTFclass(i));

在上面的语句中,怎么没有给operator()函数传参数啊

[解决办法]
你打开头文件看看count_if的代码就知道了,在那里面传的参数

类似于
class A
{
public:
bool operator()(int i){return true;}
};

int fun(A a)
{
for(int i=0;i<10;i++)
if(a(i)) //这里
return i;
return -1;
}

读书人网 >C++

热点推荐