Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Home » Tip Bank » C++
Language: C++
Expertise: Beginner
Oct 25, 1999

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.
DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date