/*********************************************************************** *
In the following example, storage is allocated for an array of
pointers to functions:
* ************************************************************************/
void f(); void g(); void main() { void (**p)(), (**q)(); // declare p and q as pointers to pointers to void functions p = new (void (*[3])()); // p now points to an array of pointers to functions q = new void(*[3])(); // error // error - bound as 'q = (new void) (*[3])();' p[0] = f; // p[0] to point to function f q[2] = g; // q[2] to point to function g p[0](); // call f() q[2](); // call g() }
/************************************************************************ *
However, the second use of new causes an erroneous binding of q = (
new void) (*[3])().
* ************************************************************************/