хранить вывод boost :: bind в boost :: function

0

У меня сейчас что-то вроде этого

void asomeMethod(int q)
{
    std::cout << "Method with parameter " << q ;
}

int main()
{
     boost::function<void(int)> parfunct;
     parfunct = boost::bind(&asomeMethod,12);
     parfunct;  //Does not call asomeMethod ??
    return 0;
}

Я хочу вызвать функцию ptr, но метод не вызывается? Любые предложения о том, что я могу делать неправильно?

Теги:
boost-bind
boost-function

1 ответ

1
Лучший ответ

Он должен быть boost::function<void()>, так как нет оставшегося аргумента.

Затем назовите его как функцию:

parfunct();
  • 0
    в этом случае я получаю сообщение error C2064: term does not evaluate to a function taking 0 arguments
  • 0
    @Rajeshwar: Извините, исправлено. Посторонние аргументы в bind игнорируются, незначительная ошибка ... Тип function должен быть тем, что вы вызываете , а не вводом bind .
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню