Path: utzoo!attcan!uunet!husc6!bloom-beacon!spdcc!ima!haddock!karl From: karl@haddock.ima.isc.com (Karl Heuer) Newsgroups: comp.std.c Subject: Re: types of optional arguments in stdarg.h Message-ID: <7132@haddock.ima.isc.com> Date: 7 Sep 88 19:14:07 GMT References: <438@ucsvc.unimelb.edu.au> <1067@xyzzy.UUCP> <20738@watmath.waterloo.edu> Reply-To: karl@haddock.ima.isc.com (Karl Heuer) Organization: Interactive Systems, Boston Lines: 19 rbutterworth@watmath.waterloo.edu (Ray Butterworth) writes: >[proposal for some future version of the Standard:] >extern void func(type1, type2, ...); /* usual meaning */ >extern void func(type1, type2 ...); /* no trailing comma */ >The missing comma would indicate that all the optional "..." args >must have the same type as the [last declared] argument. I independently came up with this same idea. I think the concept is right, but the syntax is lousy -- it's too easy to add/delete that comma and accidentally change the meaning of the declaration. Also, in C++ the comma is optional (Bjarne wanted it to be forbidden, but X3J11 made him fix it). It would not be wise to make a syntax change to C that is in direct conflict with existing practice in C++. (Meanwhile, lobby your lint vendor for a /*MONOMORPHIC*/ lintpragma that will check this for you.) Karl W. Z. Heuer (ima!haddock!karl or karl@haddock.isc.com), The Walking Lint