Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!cs.utexas.edu!uunet!crdgw1!crdos1!davidsen From: davidsen@crdos1.crd.ge.COM (Wm E Davidsen Jr) Newsgroups: comp.lang.c Subject: Re: on the fringe of C syntax/semantics Message-ID: <973@crdos1.crd.ge.COM> Date: 10 Oct 89 17:31:53 GMT References: <789@crdos1.crd.ge.COM> <457@usage.csd.unsw.oz> Reply-To: davidsen@crdos1.UUCP (bill davidsen) Organization: GE Corp R&D Center Lines: 24 In article <457@usage.csd.unsw.oz>, troy@mr_plod.cbme.unsw.oz (Troy Rollo) writes: | From article <789@crdos1.crd.ge.COM>, by davidsen@crdos1.crd.ge.COM (Wm E Davidsen Jr): | | davidsen> If I understand the question, you want (int(*)()) | | Nope - bracketing only works when you have something to group with. that will | produce exactly the same results as (int *()) In the original question some aspect of varargs was being questioned, in which the argument in question is used as a cast. This is how a cast works: (int (*)()) cast X into pointer to function returning int (int *()) cast X into function returning pointer to int I realize that the macro may not be identical on all systems, but I *thought* that's what the std said, a type, formatted to be used as a cast. Used *as I indicated* the expressions do not have the same effect at all and I'm not sure that the 2nd is legal, casting something to be a function??? -- bill davidsen (davidsen@crdos1.crd.GE.COM -or- uunet!crdgw1!crdos1!davidsen) "The world is filled with fools. They blindly follow their so-called 'reason' in the face of the church and common sense. Any fool can see that the world is flat!" - anon