trent@cit-vax.Caltech.Edu (Ray Trent) (01/16/87)
Question: How do you declare an array of pointers-to-void-functions, and
is it possible to initialize such an array? (with the array initialization
technique {arrel1, arrel2, ...})
I've tried several things that seem like they *should* work, but get
annoying messages about incompatible types...
Thanks.
--
"A journey of a thousand miles..."
../ray\..
(trent@csvax.caltech.edu, rat@caltech.bitnet, ...seismo!cit-vax!trent)mark@ems.UUCP (Mark H. Colburn) (01/18/87)
In article <1508@cit-vax.Caltech.Edu> trent@cit-vax.UUCP (Ray Trent) writes: >Question: How do you declare an array of pointers-to-void-functions, and >is it possible to initialize such an array? (with the array initialization >technique {arrel1, arrel2, ...}) Try the folowing: void func1(), func2(), func3(), func4(); void (*fnarray[])() = { func1, func2, func3, func4 }; This will give you an array of pointers to functions returning a void type that has been initialzed with the pointers to func1, func2, func3 and func4. I think that this is what you are looking for. -- Mark H. Colburn UUCP: {rutgers|amdahl|ihnp4}!{dayton|meccts}!ems!mark EMS/McGraw-Hill ATT: (612) 829-8200 9855 West 78th Street Eden Prairie, MN 55344
mikes@apple.UUCP (01/26/87)
Boy, I really dislike declaring an array of pointers-to-function
directly. For things like that, I really like using typedefs, as in:
typedef int (*pfi)(); /* ptr to int */
extern int proc1(), proc2(), proc3();
pfi my_tab[] = {
proc1,
proc2,
proc3
};
Have you ever seen this one?
typedef int IntFunc(); /* yes, this makes IntFunc a 'int function'!! */
typedef IntFunc *pfi; /* makes pfi a 'pointer to a int function */
IntFunc proc1, proc2, proc3;
pfi my_tab[] = {
proc1,
proc2,
proc3
};
--
Michael Shannon {apple!mikes}