Path: ...!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: bart Newsgroups: comp.lang.c Subject: Re: Named arguments in C Date: Thu, 4 Jul 2024 13:49:25 +0100 Organization: A noiseless patient Spider Lines: 22 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Thu, 04 Jul 2024 14:49:25 +0200 (CEST) Injection-Info: dont-email.me; posting-host="5c56d5054694e2a5b0004aafc5111799"; logging-data="2916891"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18CNetgbfQeijnHPxH6tg55" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:L5W2VdGc6uxhoTksW3HDGg358rQ= In-Reply-To: Content-Language: en-GB Bytes: 2125 On 04/07/2024 12:12, Bonita Montero wrote: > Am 02.07.2024 um 18:53 schrieb Ivan Farlenkov: >>> I am a fan of being able to name parameters in languages that allow >>> it. I am quite confident that this will never come to C.  It /might/ >>> make it into C++, but as people have been writing proposals to do so >>> for 20 years at least, I am not holding my breath. >> You can sort of already do it in C by using designated initializers >> and macros >> #define foo(A, B, C, ...) do{\ >>      stuct technical technical={\ >>          var1=default1,\ >>          var2=default2,\ >>          var3=default3 __VA_OPT__(,)\ >>          __VA_ARGS__\ >>      }\ >>      actual_foo(A, B, C, technical.var1, technical.var2, technical.var3)\ >> }while(0) > > What an anquated language that this needs macros. How do you do it in C++?