如何使这项工作?我看到的错误是 错误C2064:术语不评估为采用2个参数的函数
我做错了什么?
#include <boost\function.hpp>
int AddVariables(boost::function<int(int, int)>func, int a, int b)
{
return func(a, b);
}
struct TestStruct
{
void Run()
{
AddVariables(&TestStruct::Function1, 2, 3);
}
int Function1(int a, int b)
{
return a + b;
}
};
答案 0 :(得分:1)
Function1
是一个成员函数,所以你需要一个this
指针来调用它。使用bind
创建一个自动应用this
指针的仿函数:
AddVariables(boost::bind(&TestStruct::Function1, this, _1, _2), 2, 3);