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