Почему gcc позволяет передавать аргументы функции, которая определена без аргументов?
Я нене понимаю, почему этот код компилируется?
#include
void foo() {
printf("Hello\n");
}
int main() {
const char *str = "bar";
foo(str);
return 0;
}
GCC не делаетя даже не выдаю предупреждение, что я передаю слишком много аргументов в foo (). Это ожидаемое поведение?