C++ 将boost::bind的输出存储在boost::函数中
我现在有类似的东西C++ 将boost::bind的输出存储在boost::函数中,c++,boost-bind,boost-function,C++,Boost Bind,Boost Function,我现在有类似的东西 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 asomeMe
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;
}
void asomeMethod(int q)
{
std::cout必须是boost::function
,因为没有剩余的参数
然后像函数一样调用它:
parfunct();
在这种情况下,我得到错误Error C2064:term不会计算为具有0个参数的函数
@Rajeshwar:抱歉,已修复。bind
中的无关参数被忽略,微妙的错误。函数
类型需要是您调用的,而不是bind
的输入。