chamada de função com o parâmetro padrão
Eu escrevi um exame sobre programação em C ++. Houve uma pergunta em que eu e meu professor não concordamos. A questão era: a seguinte função funciona ou não:
#include <iostream>
using namespace std;
void f(int=4, long=10, double=3.14);
int main( int argc , char ** argv )
{
f( , ,8);
return EXIT_SUCCESS;
}
void f(int i, long l, double d) {
cout << i << " " << " " << l << " " << d;
}
Eu disse que não funcionaria, mas meu professor disse que definitivamente funcionará por causa do parâmetro padrão na declaração da função. Eu tentei com MSVC e não funcionou. Isso é específico do compilador? Como posso convencer meu professor de que não funciona em nenhum compilador, para deixar minha marca no exame?