Typ wskaźnika funkcji powrotu

Często znajduję potrzebę pisania funkcji, które zwracają wskaźniki funkcji. Kiedykolwiek to robię, podstawowym formatem, którego używam, jest:

typedef int (*function_type)(int,int);

function_type getFunc()
{
   function_type test;
   test /* = ...*/;
   return test;
}

Jednak może się to okazać kłopotliwe, gdy mamy do czynienia z dużą liczbą funkcji, więc chciałbym nie deklarować typedef dla każdego (lub dla każdej klasy funkcji)

Mogę usunąć typedef i zadeklarować zmienną lokalną zwróconą w funkcji jako:int (*test)(int a, int b); sprawiając, że ciało funkcji wygląda tak:

{
     int (*test)(int a, int b);
     test /* = ...*/;
     return test;
}

ale nie wiem, co ustawić dla typu powrotu funkcji. Próbowałem:

int(*)(int,int) getFunc()
{
    int (*test)(int a, int b);
    test /* = ...*/;
    return test;
}

ale zgłasza błąd składniowy. Jak zadeklarować typ powrotu dla takiej funkcji bez deklarowania typedef dla wskaźnika funkcji. Czy to możliwe? Zauważ również, że zdaję sobie sprawę z tego, że deklarowanie typedefów byłoby czystsze, jednak dla każdej z funkcji bardzo uważam, aby mój kod był tak czysty i łatwy do naśladowania, jak to tylko możliwe. Powodem, dla którego chciałbym wyeliminować typedefs, jest to, że są one często używane tylko do deklarowania funkcji pobierania i dlatego wydają się zbędne w kodzie.

questionAnswers(7)

yourAnswerToTheQuestion