Ошибка компиляции (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
, которая принимает три аргумента:
f
- указатель на функцию, которая принимает один аргумент типа float и возвращает значение типа float.a
- аргумент функцииf
.b
- аргумент функцииf
. Код не содержит тела функции, поэтому нельзя сказать, что именно происходит внутри функцииrect
. Но можно предположить, что функцияrect
может использоваться для вычисления площади прямоугольника, используя формулуS = a*b
, гдеa
иb
- значения, передаваемые в функциюf
. Номера элементов в списке:- 1 - начало прототипа функции
rect
- 2 - объявление первого аргумента
f
- 3 - объявление второго аргумента
a
- 4 - объявление третьего аргумента
b
- 5 - конец прототипа функции
rect
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д