Witam.
Czy w C++ jest możliwe przekazanie wskaźnika do funkcji wraz z argumentami?
bool Function_01(){
return true;
}
bool Funtion_02(int X)
{
return X % 2 == 0;
}
bool Funtion_03(int X, double C)
{
return X / C > 1;
}
//Pseudocode
bool Check(? Pointer to funtion with parameters, ? Parameters, ...) //?
bool Is_Correct_01 = Check(&Funtion_01);
bool Is_Correct_02 = Check(&Funtion_02, 15)
bool Is_Correct_03 = Check(&Funtion_03, 15, 4.5)
Pierwszy pomysł jaki mi przychodzi to stworzenie szablonu funkcji przyjmującej wskaźnik do funkcji i parametry jako void *
, jednak wtedy następna funkcji też musiałby przyjmować parametry jako void *, ...
, co byłoby dosyć kłopotliwe przy próbie wywołania funkcji w sposób bezpośredni.
template <class T> Check (T Pointer_To_Function, void * Parameters, ...)
Drugi pomysł to coś na wzór poniższego kodu:
template<class T, ...> bool Check(T Arg, ...)
Z tym że w przypadku drugiego kodu nie wiem czy jest możliwe zrobienie aby każdy Arg
miał typ określony kolejnymi T
.