Как применить градиент в фоновом режиме приложения iOS Swift

Мне кажется, что функция lmdif принимает «void * p» в качестве аргумента пользователя, который он просто переходит к обратному вызову (minpack_func_mn fcn).

Если это так, просто сделайте LT_Calibrator :: fcn статическая функция и передать ваш объект в качестве параметра «p». Затем вы можете указать аргумент user (p), чтобы вернуть свой объект, если хотите.

class LT_Calibrator
{
public:
  static int fcn(void *p, int m, int n, const double *x, double *fvec,int iflag)
  {
      LT_Calibrator* pCalibrator = static_cast<LT_Calibrator*>( p );
  }
};

Затем наберите:

LT_Calibrator someCalibrator;

info=lmdif(&LT_Calibrator::fcn, &someCalibrator, m, n, x, fvec, ftol);
147
задан justingordon 24 June 2014 в 07:13
поделиться