How to create a container that holds different types of function pointers in C++?

Posted by Alex on Stack Overflow See other posts from Stack Overflow or by Alex
Published on 2011-01-15T10:09:18Z Indexed on 2011/01/15 10:53 UTC
Read the original article Hit count: 309

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.

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)...

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.

© Stack Overflow or respective owner

Related posts about c++

Related posts about containers