我想要获取一个lambda函数中的operator()。以下内容似乎可以完成这个任务:
然而,在接下来的内容中,我需要包含 "mutable" 关键字。为什么会这样?是否可以声明指向成员函数的指针,以便可以针对任意的 lambda 表达式?
template <typename F>
void bar(F func) {
void (F ::*pm)();
pm = &F::operator();
}
然而,在接下来的内容中,我需要包含 "mutable" 关键字。为什么会这样?是否可以声明指向成员函数的指针,以便可以针对任意的 lambda 表达式?
int main(int argc, char *argv[])
{
bar([]() mutable {});
return 0;
}
const
,你能把它添加到你的函数指针中吗? - Kerrek SB