错误信息MathFun was not declared in this scope如何定义这个函数啊

写一道Romberg积分算法

double Romberg (MathFun f,double a,double b,double eps)//算法2.2
{
    double T1, T2, S1,S2,C1,C2, R1, R2, h, sumFv, de1ta=10*eps,x;
    int i,Kount= 0, n=1, fvCnth; 
    h=b -a;
    T2 =0.5*(f(a) +f(b))*h; fvCnt = 2;
    S2 =0;C2=0; R2= 0;
    //没有完全遵循算法2.2步骤1初始化要求!!!
    //但梯形的第一个结果,是最低的底限,必须初始化.--以上步骤1
    while (delta>=eps)
    {//上次的最新的“2”,传给这次的老的“1”:>>>
        T1 = T2;S1 = S2;C1 =C2; R1= R2;
        sumFv= 0.0;X=a+h/ 2;
        for (i=0;i<n; i++)
        {
            sumFv = sumFv + f(x);// x == a+(i+0.5)
            x +=h;
            fvCnt += n;
}
        T2 = 0.5*(T1+ sumFv * h);//步骤2
        S2= (4* T2 -T1)/3;//步骤3,加速第一跳,Simpson
        C2=(16* S2 -S1)/ 15;//第二跳,Cotes
        R2= (64 * C2 - C1)/ 63;//第三跳,Romberg
        delta = fabs (R2- R1);
        n = ntn;//--->>>步骤4
        h =h/ 2;
        Kount = Kount +1;
        printf("R[%2d]=%.7f T=%. 7f,fvCnt= %5d\n",Kount,R2,T2, fvCnt);
    }
    return R2;

运行出错:MathFun was not declared in this scope和expected primary-expression before 'double

求解怎么解决