我正在尝试使用一个函数作为另一个函数的参数。我想根据传递的函数获得不同的计算结果。我尝试通过编写以下程序来实现此目的:http://pastebin.com/CJfFarVa
码:
问题是我一遍又一遍地得到这个错误:
trapeze.c:14:8: error: conflicting types for ‘exp2’
double exp2(int number);
trapeze.c: In function ‘main’:
trapeze.c:28:35: error: expected expression before ‘int’
exp_2 = trapeze(0, 1, n, exp2(int x));
^
trapeze.c:29:35: error: expected expression before ‘int’
exp_1 = trapeze(0, 1, n, exp1(int x));
^
trapeze.c: At top level:
trapeze.c:58:8: error: conflicting types for ‘exp2’
double exp2(int number)
注意:我不想使用指向函数的指针。
抱歉,这是一个简单的问题。
最佳答案
原型
double trapeze(int a, int b, double n, double (*f)(int x));
呼叫
exp_2 = trapeze(0, 1, n, exp2);//exp2 : used c99
exp_1 = trapeze(0, 1, n, exp1);
关于c - 在C中使用函数作为参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22187054/