例如下面的例子,能否(如何)区别fn1的两次调用。(与Common Lisp中的函数可选参数相似)
我刻意传递了与默认参数相同的值,防止仅仅使用比较值的方法区分。
Linux系统,编译器为g++ 4.7.2。可以利用编译器特性。
#include <iostream>
void fn1(int a,int b=10);
void fn1(int a,int b)
{
std::cout<<"a="<<a<<" b="<<b<<std::endl;
}
int main(void)
{
fn1(1);
fn1(1,10);
return 0;
}