我的问题如下,我有一个函数将一个函数作为参数。问题是在某些情况下,传递的函数 fEval() 需要使用两个参数而不是一个作为 fEval(somevalue1,somevalue2) 来调用
Func(double (*fEval)(double F1),double min, double max,...)
{
double value1 = fEval(10);
// do something here
double value2 = fEval(20,30);
}
那么实现 Func 功能的正确方法是什么?我知道我也做不到
Func(double (*fEval)(double F1),double min, double max,...)
或者
Func(double (*fEval)(double F1,double F2),double min, double max,...)
谢谢 !
好吧,让我重新表述一下这个问题。我需要创建一个函数,它可以将一个未知函数作为第一个参数、两个不同的值和一个参数列表。就像是
double Function(RandomFunction, val1, val2, ...);
随机函数将是:
double Func1(double x)
{
m_x = x;
//Calling function
// Set other things
}
double Func2(double x,double y)
{
m_y = y;
m_x = x;
//Calling function
// Set other things
}
我会尝试这种仿函数方式,但我不确定这样做是否正确?它不需要我在可能调用的函数中重载 () 吗?