Warum lässt gcc zu, dass Argumente an eine Funktion ohne Argumente übergeben werden?
Ich verstehe nicht, warum dieser Code kompiliert?
#include <stdio.h>
void foo() {
printf("Hello\n");
}
int main() {
const char *str = "bar";
foo(str);
return 0;
}
gcc warnt nicht einmal davor, dass ich foo () zu viele Argumente übergebe. Ist das erwartetes Verhalten?