我写了一篇关于 C++ 编程的考试。有一个问题我和我的教授不同意。问题是,以下功能是否有效:
#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;
}
我说这行不通,但我的教授说它肯定会起作用,因为函数声明中的默认参数。我用 MSVC 试过了,没用。那是编译器特定的吗?我怎样才能说服我的教授它在任何编译器中都不起作用,以便在考试中提高我的分数?