是否有一種方法可以將函數傳遞給另一個函數,其中傳遞的函數將在第二個函數中使用傳遞參數時調用。但是,傳遞的函數可以有不同的參數。將函數的參數傳遞給另一個函數
我不想用調用函數內部的數據運行函數,只是調用實際調用函數時傳遞的參數。基本上定期檢查以確定是否可以繼續。
什麼,我試圖做一個例子:
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;
}
編輯:基本上我正在尋找一種方式來傳遞一個函數用不同數量的參數,可以是不同類型的另一個功能並運行它,但每次傳遞它們時調用的參數都可能不同,但在傳遞它的函數中保持不變。
我想你可以找到一些靈感[這裏](http://stackoverflow.com/questions/9410/how-do-you-pass-a-function-as-a-parameter-in-c?rq= 1)。順便說一下,你爲什麼試圖這樣做?在WaitForTrue中調用函數CheckSomething是否簡單? – Emi987
有沒有聽說過[函數指針](http://en.wikipedia.org/wiki/Function_pointer#Example_in_C)? – CinCout
基本上我需要建立一個系統,調用第三方DLL中的函數,但如果它們返回故障(串行總線+電機控制),我需要重試幾次。所以我想有一個功能,我可以打電話給那些第三方功能,重試幾次,然後再返回失敗。圍繞每個調用構建重試代碼可能會使我的代碼大三倍並且無法讀取。 –