【发布时间】:2018-01-17 12:17:42
【问题描述】:
我使用函数指针作为模板函数的参数,该模板函数将其用作函子。但是,如果我通过调用类的成员变量来定义 lambda,如下所示,如果我想将其分配给函数指针,编译器会报错。
如果函数指针使用成员变量,我如何将 lambda 赋值给函数指针?
注意:没有可用的用户定义转换运算符可以执行 此转换,否则无法调用运算符
// works
bool(*arm_check_fcn)(const int &) = [](const int &pt) {
return pt.m_Part == 3;
};
// fails
bool (*bgr_check_fcn)(const int &) = [this](const int &pt) {
return _ModelData.GetBackground() == pt;
};
【问题讨论】: