Type of Function in C or C++

c, c++, function, pointers, typechecking

Solution

Syntax for function pointers

The type of a function in C/C++ includes both the `return type` and the `types of input parameters` .

Consider the following function declaration:

int function(char, float);

A pointer to that function has the following type:

int (*funptr)(char, float); 

Similarly in general :

returntype function (argtype1, argtype2, argtype3)

A corresponding pointer to such a function is

returntype (*ptr) (atgtype1, atgtype2, atgtype3);  

There are be many different types of functions. Find a useful reference on function pointers here.

Also, this classification is based on the `return type and argument types`. Functions can also be classified on the basis of scope of their accessibility. like global functions, static functions etc. See here for a short introduction.

Problem

I have a simple question: What is the type of function in C or C++ As we can have pointers to function in C or C++, that means functions should have a specific type otherwise type checking during pointers to function creation have no meaning. Can someone explain me, I am on the correct path or not? If I am on the right path, How can I find the type of function?

Original source

Related problems