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;
}