Obecnie używam tego kodu: (. Użytkownik nie może zadzwonić argc
z funkcji z dowolnej liczby argumentów)Pierwsze count argument wskaźnik funkcji
size_t argc(std::function<Foo()>)
{ return 0; }
size_t argc(std::function<Foo(Bar)>)
{ return 1; }
size_t argc(std::function<Foo(Bar, Bar)>)
{ return 2; }
size_t argc(std::function<Foo(Bar, Bar, Bar)>)
{ return 3; }
// ...
Ale to jest trochę brzydki i ograniczone Czy istnieje lepszy sposób na zrobienie tego?
Uwaga: typ powrotu i typ argumentu są zawsze takie same. Wiem, że mogę używać szablonów do akceptowania dowolnego typu, ale nie potrzebuję tego.
UMH typu argumentu nie zawsze jest taka sama ... –
@ JohannesSchaub-litb myślę, to znaczy, że są zawsze takie same, jak w przykłady: 'Foo' dla wartości zwracanej i' Bar' dla wszystkich argumentów. –