I was wondering if is possible in C++ to write a templated function to accept pointers to functions of any type with any number of parameters?

If so, what would the function declaration look like?

Thanks in advance.