Path: utzoo!attcan!uunet!vsi!friedl From: friedl@vsi.COM (Stephen J. Friedl) Newsgroups: comp.lang.c Subject: Re: help with a MESSY C definition!!? Summary: Abstract declaration Message-ID: <950@vsi.COM> Date: 24 Nov 88 19:54:09 GMT References: <207600008@s.cs.uiuc.edu> <1506@buengc.BU.EDU> Organization: V-Systems, Inc. -- Santa Ana, CA Lines: 25 In article <1506@buengc.BU.EDU>, bph@buengc.BU.EDU (Blair P. Houghton) writes: > Now, prove that > > (int *(*)()) > > is unambiguously "cast to pointer to function returning pointer > to int" and never misinterpreted as "cast to function returning pointer > to pointer to int," whatever the hell that means... Casts are "abstract declarations". This means that if you drop the outer parens, there is exactly one place where a variable name (say, `foo') could be inserted to make this a real declaration. Above, the only place would be: int *(*foo)() So, this is "cast to ptr to function returning ptr to int". Steve -- Steve Friedl V-Systems, Inc. +1 714 545 6442 3B2-kind-of-guy friedl@vsi.com {backbones}!vsi.com!friedl attmail!vsi!friedl ------------Nancy Reagan on climaxes: "Just say moan!"------------- :wq!