这个C++代码如何让我用错误数量的参数调用函数?

Akr*_*Akr -2 c++ class

code.h

char* f(int ar1, int arg2, int arg3, char** arg4= NULL);
Run Code Online (Sandbox Code Playgroud)

code.cpp

 char* f(int ar1, int arg2, int arg3, char** arg4) {
          ...
}
Run Code Online (Sandbox Code Playgroud)

other_code.cpp

char* r= f(1,2,3);
Run Code Online (Sandbox Code Playgroud)

other_cod.cpp使用3个args调用此函数f,但该函数在定义中有4个args.没有其他名称为f的函数.这个呼唤如何成功?

Hou*_*bie 6

参数arg4不是必需的,如果没有特别给出,将使用NULL的默认值.

更多信息可以在这里找到:

http://en.cppreference.com/w/cpp/language/default_arguments