ahora estoy utilizando este código: (. El usuario no puede llamar argc
con una función con cualquier número de argumentos)número del argumento de un puntero de función
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; }
// ...
Pero es un poco feo y limitado Hay una mejor manera de hacerlo?
Nota: el tipo de devolución y el tipo de argumento son siempre los mismos. Sé que puedo usar plantillas para aceptar cualquier tipo, pero no lo necesito.
UMH el tipo de argumento no siempre es lo mismo ... –
@ JohannesSchaub-litb Creo que eso significa que siempre son los mismos que en esos ejemplos: 'Foo' para el valor de retorno, y' Bar' para todos los argumentos. –