Я хочу создать переменную из класса Command, которая получит функцию и ее аргументы и выполнит ее при вызове Execute, но я не знаю, как передать аргументы конструкторов переменным члена класса, так как я могу ' Рассказать, как будет выглядеть указатель на функцию.
Вот некоторый псевдокод для того, что я имею в виду.
class Command {
public:
template<_Fn, _Args...>
Command(_Fn&& _function, _Args&&... _args)
{
}
void Execute(){
}
};
void Print(int _int, float _float){
...
}
void Print(const char* _text, unsigned int _uint){
...
}
int main(){
Command cmd0 = Command(&Print, 5, 6.2f);
Command cmd1 = Command(&Print, "Hello", 2u);
cmd1.Execute();
cmd0.Execute();
}