Thanks to everyone who sent me answers. I was apparently trying to put the []'s in the wrong place. Next time I'll remember cdecl. For the record, an array of pointers to functions returning type foo is declared as: foo (*whatever[])(); Phil