std :: function -> указатель на функцию

Вот код:

<code>#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
}
</code>

Первоначально мне нужно сделать указатель на функцию из нестатического метода класса, потому что мне нужно сохранять данные между вызовами функций. Я пыталсяstd::tr1::bind а такжеboost::bind, но они возвращают функциональный объект, а не указатель, который, как я вижу, не может быть «приведен» к чисто функциональному указателю. Пока функция подпись SetupIterateCabinet) точно требует чистый указатель на функцию.

Мне нужен совет, как решить проблему. Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос