Function 将带参数的函数传递给另一个函数

Function 将带参数的函数传递给另一个函数,function,Function,是否有一种方法可以将一个函数传递给另一个函数,其中传递的函数将在第二个函数中调用,传递时使用给定的参数。但是,传递的函数可以有不同的参数 我不希望使用调用函数内部的数据运行函数,只希望使用在调用执行实际调用的函数时传递的参数。基本上是定期检查,看是否可以继续 我正在尝试做的一个例子: bool CheckSomething1 (int a, int b) { /* some code */ } bool CheckSomething2 (int a, int b, int c) { /* som

是否有一种方法可以将一个函数传递给另一个函数,其中传递的函数将在第二个函数中调用,传递时使用给定的参数。但是,传递的函数可以有不同的参数

我不希望使用调用函数内部的数据运行函数,只希望使用在调用执行实际调用的函数时传递的参数。基本上是定期检查,看是否可以继续

我正在尝试做的一个例子:

bool CheckSomething1 (int a, int b) { /* some code */ }
bool CheckSomething2 (int a, int b, int c) { /* some code */ }

bool WaitForTrue ( something funct something.. )
{
    while (! funct) {
        /* do some work */
    }   
}

int _tmain(int argc, _TCHAR* argv[])
{
    WaitForTrue(CheckSomething1(1, 2));

    WaitForTrue(CheckSomething2(1, 2, 3));

    return 0;
}

编辑:基本上,我正在寻找一种方法,将具有不同数量的参数的函数传递给另一个函数并运行它,但每次传递时调用的参数可能不同,但在传递到的函数中保持不变。

您要找的是

请参阅上面的链接,了解其工作原理的简要示例


另一种方法是通过这种方式实现(在函数编程中已经很流行,参见),虽然在C++中表达不是那么容易。顺便问一下,你为什么要这么做?调用函数

CheckSomething
inside
WaitForTrue
是否更简单?听说过吗?基本上,我需要建立一个系统来调用第三方dll中的函数,但如果它们返回故障(串行总线+电机控制),我需要重试几次。所以我想有一个功能,我可以调用这些第三方函数,在返回失败之前重试几次。围绕每次调用构建重试代码可能会使我的代码变得三倍大且不可读。是的,使用函数指针,但基本上我想知道是否有一种方法可以传递函数而不必定义它的参数,并且在我将其传递给另一个函数时只使用这些参数调用函数。在我传递参数后,我不需要更改参数。可能是重复的谢谢,这正是我要找的:)