Представьте себе функцию func1
, параметрами которой являются функция f
и ее аргументы. Пусть есть две функции func2
и func3
, которые должны быть переданы в func1
со следующими определениями:
bool func2(int a, int b, float c){
// does something with arguments and returns the boolean result
}
bool func3(int a, int b, float c, float d){
// does something with arguments and returns the boolean result
}
Интересно, как мне определить func1
, чтобы он мог бытьсовместим с обеими этими функциями. Конечно, есть поворот, и он должен передать фиктивный параметр в func2
, но это не очень хорошее решение. Я прочитал этот пост , но это не похоже на совместимое решение. Есть идеи?
Редактировать:
Эта функция представляет собой шаблон C ++, который должен быть эквивалентен функции Python, такой как:
def func1(f, int a, int b, *args):
if f(a, b, *args):
# does something