Я занимаюсь проектом по линейному генетическому программированию, где программы разрабатываются и развиваются с помощью механизмов естественной эволюции. Их «ДНК» - это, по сути, контейнер (я успешно использовал массивы и векторы), который содержит указатели на набор доступных функций.
Теперь для простых задач, таких как математические задачи, я мог бы использовать один указатель на функцию определенного типа, которая могла бы указывать на функции, которые все возвращают double и все принимают в качестве параметров два double.
К сожалению, это не очень практично. Мне нужно иметь возможность иметь контейнер, который может иметь различные виды указателей функций, скажем, указатель на функцию, которая не принимает аргументов, или функцию, которая принимает один аргумент, или функцию, которая возвращает что-то и т. Д. идея) ...
Есть ли способ сделать это, используя любой вид контейнера?
Могу ли я сделать это, используя контейнер, который содержит полиморфные классы, которые, в свою очередь, имеют различные виды указателей на функции?
Я надеюсь, что кто-то может направить меня к решению, потому что перепроектировать все, что я сделал до сих пор, будет болезненно.