devxlogo

Passing a unction as an argument

Passing a unction as an argument

Question:
How do I pass a function as a parameter?

Answer:
First, let’s distinguish between a parameter and an argument. The parameter is the type of the object passed. An argument is the actual object passed. The following function takes a parameter of type ‘pointer to function that doesn’t return a value and takes no arguments:

int func( void (*p)() ) //p is a function ptr{}

Now suppose you want to pass the following function as an argument, which has a signature that matches func’s parameter:

void f(){}

All you do is pass its name:

int main(){ func(f); //f is converted to a pointer}

C and C++ automatically convert a function name to a pointer to that function. You should also remember that this technique applies to plain functions, not to member functions of a class.

See also  Professionalism Starts in Your Inbox: Keys to Presenting Your Best Self in Email
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist