Comment Comment by CodeArtisan Until C23, you could declare a pointer to a procedure that takes an unspecified amount of any type arguments like this void foo( int (*f)() ) { f(1); f(1, "2" , 3.0); } https://godbolt.org/z/s6e5rnqv9If you compile with -std=c23, both gcc and clang will throw an error ( (*f)() is now the same as (*f)(void) ) parent CodeArtisan 6 months ago
If you compile with -std=c23, both gcc and clang will throw an error ( (*f)() is now the same as (*f)(void) )