下面的代码试图交换一些std :: function变量但是失败了。特别是next_
和read_
接受其他值已初始化为。
如何以next_
与index_
,path_
和empty_
以及read_
和{{1}交换的方式更改此仿函数}}?目标是通过所有私人方法。
next
答案 0 :(得分:1)
问题在于您将envs
对象传递给std::for_each
函数的方式。因为它被复制,this
对象中的bind
指针也被复制,这基本上意味着你正在操作其他对象中的方法。
更换:
Envs envs;
std::for_each(args.begin(),args.end(),envs);
使用:
std::for_each(args.begin(),args.end(), Envs());
应该有所帮助。