#3326. [GESP202309 五级 C++] 第 8 题

[GESP202309 五级 C++] 第 8 题

有关下面代码正确的是( )。

// 在C++语言中,可以通过函数指针的形式,将一个函数作为另一个函数的参数。
// 具体来说:bool checkNum(bool (*Fx)(int), int N); 声明了一个函数,
// 其第一个参数是函数指针类型,指向一个接收一个int参数且返回值为bool的函数。
#include <iostream>
using namespace std;

bool isEven(int N) {
    return N % 2 == 0;
}
bool checkNum(bool (*Fx)(int), int N) {
    return Fx(N);
}
int main() {
    cout << checkNum(isEven, 10) << endl;
    return 0;
}

{{ select(1) }}

  • checkNum() 函数定义错误。
  • isEven 作为 checkNum() 参数将导致错误。
  • 执行后将输出 1
  • 运行时触发异常。