C++中,函数指针的定义方法如下:
定义函数指针类型:typedef returnType (*functionPtrType)(parameterType1, parameterType2, ...);
returnType
为函数返回值的类型。functionPtrType
为函数指针类型的名称,可以根据需要自定义。parameterType1, parameterType2, ...
为函数的参数类型。声明函数指针变量:functionPtrType functionNamePtr;
functionNamePtr
为函数指针变量的名称,可以根据需要自定义。例如,定义一个函数指针类型为void(*)(int, int)
,表示指向参数为两个int
类型,返回类型为void
的函数指针。然后声明一个名为add
的函数指针变量,可以这样写:
typedef void (*functionPtrType)(int, int);
functionPtrType addPtr;
void add(int a, int b) {
std::cout << a + b << std::endl;
}
int main() {
addPtr = add; // 将函数地址赋给函数指针变量
addPtr(2, 3); // 等同于调用add(2, 3)
return 0;
}
输出结果为5
。在上述例子中,addPtr
指向了add
函数,并通过函数指针调用了该函数。