avatar
l*i
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",
哪位给点建议?
avatar
k*f
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;

avatar
l*i
3
Thanks, 改成:
int (* jac1)(double, const double *, double *, double *, void *)=NULL;
就好了,呵呵,好久不用C,这些细节的地方忘得差不多了。

【在 k****f 的大作中提到】
: 人家要的是函数指针
: 你给的是int *
: 当然要给你警告处分的。
:
: params
: []

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。