Como criar um contêiner que contém diferentes tipos de ponteiros de função em C ++?

Estou fazendo um projeto de programação genética linear, em que os programas são criados e evoluídos por meio de mecanismos de evolução natural. O "DNA" deles é basicamente um contêiner (usei matrizes e vetores com sucesso) que contém ponteiros de função para um conjunto de funções disponíveis. Agora, para problemas simples, como problemas matemáticos, eu poderia usar um ponteiro de função definido pelo tipo que poderia apontar para funções que retornam um duplo e todas tomam como parâmetros dois duplos.

Infelizmente isso não é muito prático. Eu preciso ser capaz de ter um contêiner que possa ter diferentes tipos de ponteiros de função, digamos um ponteiro de função para uma função que não aceita argumentos, ou uma função que aceita um argumento ou uma função que retorna algo, etc. (você obtém o idéia)...

Existe alguma maneira de fazer isso usando qualquer tipo de contêiner? Eu poderia fazer isso usando um contêiner que contém classes polimórficas, que por sua vez têm vários tipos de ponteiros de função? Espero que alguém possa me direcionar para uma solução, porque redesenhar tudo o que fiz até agora será doloroso.

questionAnswers(3)

yourAnswerToTheQuestion