为什么引入类成员函数作为levmar中调用的函数变量之后会导致函数实参和形参不兼容?

如题,我想写一个类,用LM方法求解非线性方程组,其中调用了levmar库中的
dlevmar_dif,函数原型如下:

```
extern int dlevmar_dif(
      void (*func)(double *p, double *hx, int m, int n, void *adata),
      double *p, double *x, int m, int n, int itmax, double *opts,
      double *info, double *work, double *covar, void *adata);
```
第一个参数是一个函数,用于表达需要求解的非线性方程组,输入如下内容的函数可以运行:

```
void WorldFunc1(double* WorldCoord, double* zero, int m, int n, void* data)
{
  ...(内容省略)
}
```
我现在希望将上述的WorldFunc1变为一个类LMsolve的成员函数,如下:

```
void LMsolve::WorldFunc1(double* WorldCoord, double* zero, int m, int n, void* data)
{
  ...(内容省略)
}
```
然后在另一个成员函数中调用dlevmar_dif并将上述成员函数作为参数引入,这时出现了以下问题:
![图片说明](https://img-ask.csdn.net/upload/202101/11/1610340579_36919.png)

另一个成员函数内容如下:

```
LMsolve::SolveResult LMsolve::fSolve()
{
    SolveResult result;    //这是头文件中定义的一个结构体
   ...
    ret = dlevmar_dif(WorldFunc, WorldCoord, zero, m, n, 1000, opts, info, NULL, NULL, (void*)&data); // withoutJacobian
    result.Error = info[1]; result.IterNum = ret; result.Dp = info[3];
    return result;
}
```
本人C++技术比较菜,求解