我有以下代码尝试将非静态成员函数作为替代想法传递给需要函数指针的旧c代码.它没有编译.你能帮忙吗?有些东西必须明显,我是新手.提前致谢. - 金平
#include <iostream>
#include <boost/function.hpp>
#include <boost/function_equal.hpp>
#include <boost/bind.hpp>
using namespace boost;
using namespace std;
double addTest( boost::function<double (double)> f, double a, double x )
{
double a1 = f(a);
double a2= a1+x;
return a2;
}
double squareIt (double x) {
return x*x;
}
class X {
public:
X(double x0, double x1){ x=x0+x1; }
double plusIt(double t) { return x+t; }
private:
double x;
};
int main (int argc, char** argv)
{
boost::function<double (double)> f;
f = &squareIt; …Run Code Online (Sandbox Code Playgroud)