这个问题已经在这里有一个答案:
我有一个接受两个整数默认值,有没有办法让的功能调用程序,因为他想传递的许多参数的函数? (第一但不是第二,第二但不是第一个,两者)。例:
void do_something(int first = 0, int second = 0);
int main()
{
do_something(1); // first - how to declare it's the first argument
do_something(1); // second
do_something(1,1);
do_something();
return 0; // I want to allow all those options
}
使用另一个包装内联函数
void DoSomething(int f = 0 , int s = 0)
{}
void inline DoSomethingS(int s = 0)
{DoSomething(0 , s);}
如果用户想要发送的第二个离开,他会在这种情况下DoSomethingS使用的DoSomething +选项的第一个选项。