Question 20.6

If I have a char * variable pointing to the name of a function, how can I call that function?


The most straightforward thing to do is to maintain a correspondence table of names and function pointers:

int func(), anotherfunc();

struct { char *name; int (*funcptr)(); } symtab[] = {
	"func",		func,
	"anotherfunc",	anotherfunc,
};
Then, search the table for the name, and call via the associated function pointer. See also questions 2.15 and 19.36.

References: PCS Sec. 11 p. 168


Read sequentially: prev next up top


This page by Steve Summit // Copyright 1995 // mail feedback