void f(int i)
{
    std::cout<<i<<std::endl;
}
typedef void(*pF)(int);
pF signlll(int i, void(*p)(int))
{
    std::cout << i << std::endl;
    return f;
}
void (*signll2(int i, void(*p)(int)))(int)//过于复杂不推荐
{
    std::cout << i << std::endl;
    return f;
}
auto signll3(int i, void(*p)(int)) ->void(*)(int)//c++11
{
    std::cout << i << std::endl;
    return f;
}
int main() {
    void (*p)(int);
    p = signlll(11, f2);
    p(11);
    p = signll2(22, f2);
    p(22);
    p = signll3(33, f2);
    p(33);
}









