l*********i 发帖数: 483 | 1 初级问题:
GSL的gsl_odeiv.h里定义了这么个struct:
typedef struct
{
int (* function) (double t, const double y[], double dydt[], void * params
);
int (* jacobian) (double t, const double y[], double * dfdy, double dfdt[]
, void * params);
size_t dimension;
void * params;
}
gsl_odeiv_system;
GSL的reference manual里说 (* jacobian)可以是NULL pointer,我的程序里
有这么一段:
int *jac=NULL;
gsl_odeiv_system sys = {func, jac1, 2, &mu};
但是编译的时候总说"warning: initialization from incompatible pointer type",
哪位给点建议? | k****f 发帖数: 3794 | 2 人家要的是函数指针
你给的是int *
当然要给你警告处分的。
params
[]
【在 l*********i 的大作中提到】 : 初级问题: : GSL的gsl_odeiv.h里定义了这么个struct: : typedef struct : { : int (* function) (double t, const double y[], double dydt[], void * params : ); : int (* jacobian) (double t, const double y[], double * dfdy, double dfdt[] : , void * params); : size_t dimension; : void * params;
| l*********i 发帖数: 483 | 3 Thanks, 改成:
int (* jac1)(double, const double *, double *, double *, void *)=NULL;
就好了,呵呵,好久不用C,这些细节的地方忘得差不多了。
【在 k****f 的大作中提到】 : 人家要的是函数指针 : 你给的是int * : 当然要给你警告处分的。 : : params : []
|
|