Visual C aceitando número errado de argumentos?
Por que isso é compilado no Visual Studio:
void foo(int a) {}
int main() {
foo(1,2);
}
Há um aviso
source_file.c(4) : warning C4020: 'foo' : too many actual parameters
mas por que não é um erro, como é o caso do gcc / clang?
Estou ciente das definições de função no estilo K&R, mas isso só se aplica afoo()
o que levaria um número variável de argumentos.
Citações do padrão que permitem isso serão muito apreciadas.