¿ Como desenrollar una std::tuple< >
para poder usarla en una llamada a función ?
La idea es crear una std::tuple< >
con los argumentos recibidos, y realizar una llamada a una función usando esa std::tuple< >
; es decir, desempacarla en la propia lista de argumentos de la función a llamar.
Este es el código que estoy usando para las pruebas, pero, sencillamente, no soy capaz.
#include <tuple> #include <iostream> template< typename RET, typename... ARGS > RET recall( RET (*f)( ARGS... ), ARGS... args ) { std::tuple< ARGS... > a{ args... }; return f( ) <- // ¿ Que coloco aquí ? } void hello( const char * ); int main( ) { recall( hello, "Esto funciona !!" ); return 0; } void hello( const char *msg ) { std::cout << msg << std::endl; }