Я пытаюсь сделать так, чтобы вектор содержал пустые указатели на функции, которые впоследствии будут вызываться последовательно.
Итак, допустим, у меня есть три функции.int a()
, void b();
, bool c();
Мой вектор vector<void *> vec;
И моя функция, которая хранит указатели на функции.
void registerFunction(void *func)
{
vec.push_back(func);
}
Теперь моя проблемаэто когда я пытаюсь вызвать все сохраненные функции, так как они все являются пустыми указателями, я просто не могу вызвать функции, не зная их типа.
Так что мой вопрос ... есть ли способ сохранить типы символовтак что я могу связать их с соответствующими указателями и затем привести тип при вызове пустого указателя на функцию?
Примечание : функции не всегда будут иметь тип, например, void (*)()
, Я также хочу добавить методы, т.е.void (someclass::)()
.Это требует слишком много?Должно ли это работать?