我正在尝试运行其他人编写的模型.运行make文件时,我收到有关其中一个功能的以下错误:
ground_layer.c:4391:6: error: conflicting types for 'func_'
real func_(R_fp funk, real *x)
^
ground_layer.c:4360:17: note: previous declaration is here
extern real func_(U_fp, real *);
Run Code Online (Sandbox Code Playgroud)
我觉得这肯定是一个愚蠢的错误,我的C在这一点上真的生锈了,我只是无法识别错误.我已经尝试删除所有的差异:x在第一个定义中添加一个删除funk,但这些更改似乎只会让事情变得更糟.
有关信息,我在MacOSX 10.11上.这是从定义到结束的代码:
/* Local variables */
static real a, b;
static integer j;
static real x;
static integer it;
static real del, tnm, sum, ddel;
extern real func_(U_fp, real *);
/* ********************************************************************** */
b = exp(-(*aa));
a = 0.f;
if (*n == 1) {
r__1 = (a + b) * .5f;
*s = (b - a) * func_((U_fp)funk, &r__1);
it = 1;
} else {
tnm = (real) it;
del = (b - a) / (tnm * 3.f);
ddel = del + del;
x = a + del * .5f;
sum = 0.f;
i__1 = it;
for (j = 1; j <= i__1; ++j) {
sum += func_((U_fp)funk, &x);
x += ddel;
sum += func_((U_fp)funk, &x);
x += del;
/* L11: */
}
*s = (*s + (b - a) * sum / tnm) / 3.f;
it *= 3;
}
return 0;
} /* midexp_ */
/* ********************************************************************** */
/* ********************************************************************** */
real func_(R_fp funk, real *x)
{
/* System generated locals */
real ret_val, r__1;
/* Builtin functions */
double log(doublereal);
/* ********************************************************************** */
r__1 = -log(*x);
ret_val = (*funk)(&r__1) / *x;
return ret_val;
} /* func_ */
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59 次 |
| 最近记录: |