从函数指针C++将参数发送到函数

Send parameter to function from function pointer C++

本文关键字:函数 参数 指针 C++      更新时间:2023-10-16

我想知道您是否可以将函数指针发送到函数并形成第二个函数(获得函数指针(以使用参数调用参数中的函数 我的意思是:

main.cpp:
*obj << foo; \ while foo gets *obj as parameter
obj.h:
class obj
{
...
obj& operator<<(void(*pf)());
obj& operator<<(void(*pf)(obj));
};
foo(*obj x)

是的,这是可能的。使用函数指针,可以调用它指向的函数。该函数指针是传递给另一个函数还是在类中或其他地方并不重要。

下面是一个简短的示例。

如您所见,我有foo,这是一个指向function1的函数指针,并将其传递给接收函数指针和数字的function2。在 main 内部,我调用function2将其传递foo,值5. 然后function2调用我们知道function1some_function参数所指向的函数。换句话说,function2调用具有5值的function1

#include <iostream>
using namespace std;
void function1(int num)
{
cout << "Your number is: " << num;
}
void function2( void (*some_function)(int) , int number )
{
some_function(number);
}
int main()
{
void (*foo)(int);
foo = &function1;
function2(foo,5);
}
//Output
//Your number is: 5

希望这能回答你的问题。