在Visual c++ 2015中删除了使用mem_fun1()的替代方法

Alternative way to using mem_fun1() have been removed in Visual C++ 2015

本文关键字:fun1 方法 mem 2015 c++ Visual 删除      更新时间:2023-10-16

函数mem_fun1()已在vc++ 2015中删除。因此,我将代码从

改为使用mem_fun1_t():
mem_fun1(&classA::functA)

:

mem_fun1_t<bool,classA,classB>(&classA::functA)

与声明函数functA():

bool classA::functA(classB x);

正确吗?

旧的成员函数适配器被std::mem_fn严格取代。使用它,而不是在c++ 17中删除的已弃用的函数(并且可能会从以后的VS版本中删除)。

至于mem_fun1,它从来没有在标准中。标准有四个mem_fun重载来处理带有0或1参数的const和非const成员函数指针。