Aquí es un código:std :: función -> función de puntero
#include <functional>
using namespace std::tr1;
typedef void(*fp)(void);
void foo(void)
{
}
void f(fp)
{
}
int main()
{
function<void(void)> fun = foo;
f(fun); // error
f(foo); // ok
}
Originalmente Necesito hacer un puntero de función del método de clase no estática porque tengo que guardar los datos entre los llamados de función. Intenté std::tr1::bind
y boost::bind
, pero devuelven el objeto funcional, no el puntero, que, como puedo ver, no se puede "convertir" al puntero funcional puro. Mientras que la firma de función (SetupIterateCabinet
) exige un puntero func puro exactamente.
Necesito un consejo sobre cómo solucionar el problema. Gracias.
Eso funciona, ¡gracias! – fogbit