gpt4 book ai didi

c++ - 如何将数字乘以通过引用传递的函数

转载 作者:太空宇宙 更新时间:2023-11-04 16:22:30 25 4
gpt4 key购买 nike

我的主要方法和所有其他函数上面有以下代码:

typedef double (*FUNC)(double);

double integrate(FUNC f, double a, double b){
double sum = 0;
for(int i=a; i<=b; i++){
sum = sum + (f * .0001); //error occurs here, red squiggly line under "f"
}
return sum;
}

在 Microsoft Visual Studio C++ 编译器中,出现错误:表达式必须具有算术或枚举类型。我在评论中指出了上面错误的来源。有人可以向我解释为什么会出现此错误以及如何解决此错误吗?

最佳答案

我认为您正在尝试将 f(x)x 值从 a 集成到 b?

在这种情况下,您的代码非常不正确。

您的 0.0001 似乎表明您实际上正在尝试使用 10000 步,在这种情况下,您将使用类似以下内容的内容:

const int steps = 10000;
double x = a;
double delta = (b - a) / steps;
for(int i = 0; i < steps; i++, x += delta)

然后您将计算使用调用 f(x) 来调用函数指针,并将其加起来。

关于c++ - 如何将数字乘以通过引用传递的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15326651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com