- 论坛徽章:
- 0
|
我这样写为什么不能编译通过? 在修改void print(F &f)后就可以
#include <iostream>
#include <stdio.h>
#include <vector>
#include <algorithm>
using namespace std;
class F
{
public:
void print(F &f)
{
if(f.num >3)
{
cout<<f.num<<endl;
}
}
int num;
};
int main()
{
vector<F> vt;
for(int i = 0; i < 10 ;i++)
{
F tmp;
tmp.num = i;
vt.push_back(tmp);
}
for_each(vt.begin() ,vt.end() ,mem_fun_ref(&F::print));
return 0;
}
修改:
class F
{
public:
void print()
{
if(num >3)
{
cout<<num<<endl;
}
}
int num;
};
后就可以编译通过了。
还有mem_fun_ref mem_fun ptr_fun 之间的具体区别,哪位可以解答一下 |
|