Ошибка компиляции (error C2447) - C (СИ)

Узнай цену своей работы

Формулировка задачи:

При компиляции выдает ошибку: error C2447: {: отсутствует заголовок функции (возможно, используется формальный список старого типа). Помогите исправить.
#include<stdio.h>
#include<math.h>
float f1(float);
float f2(float);
float rect(float(*f)(float),float,float);
int main()
{
    printf("f1=%f\n",rect(f1,-1,2));
    printf("f2=%f\n",rect(f2,0,0.5));
    return 0;
}
float f1(float x)
{
    return x/((x*x+1)*(x*x+1));
}
float f2(float x)
{
    return 4*cos(x)*cos(x);
}
float rect(float(*f)(float x), float a, float b);
{
    int i;
    float s=0, h=(b-a)/20;
    for (i=1;i<=20;i++)
        s+=f(a+i*h);
    return h*s;
}

Решение задачи: «Ошибка компиляции (error C2447)»

textual
Листинг программы
float rect(float(*f)(float x), float a, float b)

Объяснение кода листинга программы

В данном коде представлен прототип функции rect, которая принимает три аргумента:

  1. f - указатель на функцию, которая принимает один аргумент типа float и возвращает значение типа float.
  2. a - аргумент функции f.
  3. b - аргумент функции f. Код не содержит тела функции, поэтому нельзя сказать, что именно происходит внутри функции rect. Но можно предположить, что функция rect может использоваться для вычисления площади прямоугольника, используя формулу S = a*b, где a и b - значения, передаваемые в функцию f. Номера элементов в списке:
  4. 1 - начало прототипа функции rect
  5. 2 - объявление первого аргумента f
  6. 3 - объявление второго аргумента a
  7. 4 - объявление третьего аргумента b
  8. 5 - конец прототипа функции rect

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5