I need a container of functions (like a vector for example). But each function may be different than the others although they all return the string type. They differ in the parameter type, like so:
Normally an array of functions require the same type and number of parameters.
Why can't you just use "normal" C++ overload mechanisms? For example your above snippet should just used as normal overloads.
But be careful there is already a standard function called to_string(), and using the prefix "to_" should be avoided when possible as there are quite a few standard functions that start with this prefix.