title: How to create a container that holds different types of function pointers in C++?
body: <p>I'm doing a linear genetic programming project, where programs are bred and evolved by means of natural evolution mechanisms. Their "DNA" is basically a container (I've used arrays and vectors successfully) which contain function pointers to a set of functions available. 
  Now, for simple problems, such as mathematical problems, I could use one type-defined function pointer which could point to functions that all return a double and all take as parameters two doubles.</p>
  
  <p>Unfortunately this is not very practical. I need to be able to have a container which can have different sorts of function pointers, say a function pointer to a function which takes no arguments, or a function which takes one argument, or a function which returns something, etc (you get the idea)...</p>
  
  <p>Is there any way to do this using any kind of container ?
  Could I do that using a container which contains polymorphic classes, which in their turn have various kinds of function pointers?
  I hope someone can direct me towards a solution because redesigning everything I've done so far is going to be painful.</p>