Path: csiph.com!eternal-september.org!feeder.eternal-september.org!nntp.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.lang.c Subject: Re: function pointer question Date: Fri, 02 Jan 2026 11:43:01 -0800 Organization: None to speak of Lines: 21 Message-ID: <87zf6vu7ga.fsf@example.invalid> References: <10j7rs6$7c9e$1@dont-email.me> <10j95n0$kkj4$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain Injection-Date: Fri, 02 Jan 2026 19:43:02 +0000 (UTC) Injection-Info: dont-email.me; posting-host="0c5ef296c1f282275d44508e0b1eb011"; logging-data="698381"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/VknF1LZnZuKd96zFtlnqw" User-Agent: Gnus/5.13 (Gnus v5.13) Cancel-Lock: sha1:Gi1pxCincnF8TqmAKBmdUXF5R9g= sha1:STl4BWBTZSrbEv3NhtFWuy+4m1I= Xref: csiph.com comp.lang.c:396086 bart writes: [...] > If you have any function that returns type T (including when T is void > like your examples), then its type is 'function(...)returning T'. > > A pointer to such a function will have a type: > > 'pointer to function(...)returning T'. [...] Just to clarify, the "..." refers to the list of parameter types, in this case "pointer to function(char [][64], int, int, const char *) returning void)". It's not a literal `...` token. I mention this because `void func(...)` is valid starting in C23; it's a variadic function with no fixed parameters. `void func(...)` is not compatible with, for example, `void(int)`. -- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com void Void(void) { Void(); } /* The recursive call of the void */