wywołanie funkcji z parametrem domyślnym

Napisałem egzamin na temat programowania w C ++. Było jedno pytanie, gdzie ja i mój profesor się nie zgadzaliśmy. Pytanie brzmiało: czy działa następująca funkcja:

#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;
}

Powiedziałem, że to nie zadziała, ale mój profesor powiedział, że z pewnością zadziała z powodu domyślnego parametru w deklaracji funkcji. Wypróbowałem go z MSVC i nie zadziałało. Czy to jest specyficzne dla kompilatora? Jak mogę przekonać mojego profesora, że ​​nie działa w żadnym kompilatorze, aby podnieść mój wynik w egzaminie?

questionAnswers(4)

yourAnswerToTheQuestion