在 C++ 中,可以使用函數指針作為參數傳遞給其他函數。以下是一個示例:
#include <iostream>
// 定義一個函數指針類型
typedef void (*FunctionPtr)(int);
// 接受函數指針作為參數的函數
void printNumber(FunctionPtr ptr, int num) {
ptr(num);
}
// 被傳遞的函數
void printSquare(int num) {
std::cout << "Square: " << num * num << std::endl;
}
int main() {
// 將函數指針作為參數傳遞給另一個函數
printNumber(printSquare, 5);
return 0;
}
在上面的示例中,我們首先定義了一個函數指針類型 FunctionPtr
,該函數指針接受一個 int
參數并返回 void
。然后,我們定義了一個接受函數指針作為參數的函數 printNumber
,該函數接受一個函數指針和一個 int
參數,并調用傳遞的函數指針。最后,在 main
函數中,我們將 printSquare
函數的指針作為參數傳遞給 printNumber
函數。
當運行程序時,它將輸出:
Square: 25
這證明了函數指針成功作為參數傳遞給了其他函數。