读书人

for_each()的函数传递有关问题

发布时间: 2012-02-21 16:26:23 作者: rapoo

for_each()的函数传递问题
关于for_each)()的函数传递有些疑问,先看以下代码:
代码1:
class test
{
public:
void fun1();
void fun2(int m);
private:
vector <int> v;
};

void test::fun1()
{
//我想对v中的每个数据调用fun2函数, 这里的第三个参数该怎么写?
//如果fun2为非成员函数,第三个参数可以直接写fun2.像这种情况该
//怎么写呢?
for_each(v.begin(), v.end(), ???);
}
void test::fun2(int m)
{
//do somthing
}

代码2:

class test; //test为上面的test类

class test2
{
public:
void fun3();
private:
vector <int> v2;
};

void test2::fun3()
{
test t;
//我想对v2中的每个数据调用t.fun2函数, 这里的第三个参数该怎么写?

for_each(v2.begin(),v2.end(), ???);
}

请问该如何传递第三个参数呢??

[解决办法]
std::bind1st(std::mem_fun(&test::fun2), this)

读书人网 >C++

热点推荐