dfp@cbnewsl.ATT.COM (david.f.prosser) (06/16/89)
In article <263@maytag.waterloo.edu> giguere@aries5.waterloo.edu (Eric Giguere) writes: }In article <64@BLEKUL11.BITNET> SAAAA04@BLEKUL11.BITNET writes: }>To my surprise the following happened with the waterloo C compiler (for VM/CMS) } }Wow! An IBM mainframe user reading this group... } }>it refuses: } }>void foo(int , int y); } }>but (of course) accepts: } }>void foo(int x, int y); }>void foo(int , int); } }>Do I have to be consistent ? Or is this a bug in the compiler ? } }It's not a bug.... it's a feature. Seriously, the ANSI specs state that }a function prototype can accept types or types with IDs but not both }in the same declaration. So, yes, you do have to be consistent. } }(I should know, I spent a lot of time debugging all the ANSI stuff we put }into the compiler...) } }Eric Giguere 268 Phillip St #CL-46 }For the curious: it's French ("jee-gair") Waterloo, Ontario N2L 6G9 }Bitnet : GIGUERE at WATCSG (519) 746-6565 }Internet: giguere@aries5.UWaterloo.ca "Nothing but urges from HELL!!" Not quite. The pANS requires that there be identifiers present for all prototype parameters only for a function's definition. If it's just a declaration, one can arbitrarily include or exclude the identifiers. It would have been nice to be able to exclude identifiers even in function definitions as that would be a linguistic way of stating that the parameter is unused. C++ includes this feature, but the X3J11 technical committee didn't buy into it. Dave Prosser ...not an official X3J11 answer...