rae@unicus.UUCP (Clith de T'nir) (10/22/86)
I recently had problems with MPW C (a.k.a. Green Hills C) version 1.0b1. I was using the GetTrapAddress() function so as to speed things up, so I declared a pointer to a pascal function returning void as follows pascal void (*foo)(); I then later would say ... foo = (pascal void(*)())GetTrapAddress(VALIDADDRESS); C complained about this. It turned out that in order to use foo, I had to declare it as follows: pascal void (*foo)(Ptr textBuf, int firstByte, int byteCount); (using DrawText as an example). Is this an ANSI extension to C? Are there others? MPW C also allows declarations of the form extern char *myFunc(int x, int y, int z); char *myFunc(x,y,z) int x, y, z; extern; The two declarations above are equivalent as far as MPW C is concerned. Reply by mail and I'll post a summary. -- "(*((int(*)()) ((ptr_fint *)0x0071d700) [43])) (1);" -- net.lang.c++ Reid Ellis, aka Clith de T'nir {decvax,allegra,ihnp4,pyramid}!utzoo!utcs!yetti!unicus!rae or... seismo!mnetor!yetti!unicus!rae