Маю декілька класів, екзепляри яких спочатку зберігаються в масив(з допомогою any, або інші варіанти теж допустимі), а потім кожен елемент масиву передається як параметр в функцію, в якій викликається метод переданого об'єкту
Мне как то попался такой код
Возможно это как поможет решить твою задачу
#include <iostream>
#include <stdio.h>
class Alice
{
public:
virtual void foo() {std::cout<<"Alice foo\n";}
};
class Bob
{
public:
virtual void foo() {std::cout<<"Bob foo\n";}
};
template <typename T>
class Who: public T
{
public:
void foo() override
{
std::cout<<"Who: ";
T::foo();
}
};
int main(int argc, char ** argv)
{
Who<Alice> whoA;
Who<Bob> whoB;
whoA.foo();
whoB.foo();
return 0;
}