What does (int (*)()) mean in a function call

c

Solution

The casts the argument to a pointer to a function that returns `char *` and takes zero or more arguments. The second function returns `int`.

You can use a program (and website, now) called "cdecl" to help with these, it says:

- `(char *(*)())`: cast unknown_name into pointer to function returning pointer to char

- `(int (*)())`: cast unknown_name into pointer to function returning int

Problem

Like the title says, I want to know what "(int (*)())" in a C-define-function-call means? As example, it looks similar to this: ``` #define Bla(x) (Char *) read((char *(*)()) Blub, (char **) x) ``` or this ``` #define XXX(nx, id) PEM_ASN1_write_bio((int (*)()) id, (char *) nx) ``` Thank you in advance!

Original source