2022年8月

#include <iostream>

void foo(void (*fn)())
{
    fn();
}
using voidfun = void(*)();
template <typename F>
voidfun lambda2func(F lambda)
{
    static auto lambdabak = lambda;
    return []()
    {
        lambdabak();
    };
}
int main()
{
    int num = 111; // 初始化为“111”
    void (*f)() = lambda2func([&num]()
        { 
        num = 1234; 
        });

    foo(f);
    printf("%d",num); // 成功修改为“1234
    return 0;
}