У меня сейчас что-то вроде этого
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::function<void()>
, так как нет оставшегося аргумента.
Затем назовите его как функцию:
parfunct();
error C2064: term does not evaluate to a function taking 0 arguments
bind
игнорируются, незначительная ошибка ... Типfunction
должен быть тем, что вы вызываете , а не вводомbind
.